Skip to content
This repository was archived by the owner on Apr 4, 2023. It is now read-only.

Commit b9e11aa

Browse files
Invites on Android: AppInviteApi has been deprecated #478
1 parent 807e0b0 commit b9e11aa

File tree

1 file changed

+61
-59
lines changed

1 file changed

+61
-59
lines changed

firebase.android.js

Lines changed: 61 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -261,9 +261,9 @@ firebase.init = function (arg) {
261261
// Firebase AdMob
262262
if (typeof(com.google.android.gms.ads) !== "undefined") {
263263
// init admob
264-
com.google.android.gms.ads.MobileAds.initialize(appModule.android.context);
264+
com.google.android.gms.ads.MobileAds.initialize(appModule.android.context);
265265
}
266-
266+
267267
resolve(firebase.instance);
268268
}
269269

@@ -493,19 +493,19 @@ firebase.admob.showBanner = function (arg) {
493493
resolve();
494494
},
495495
onAdFailedToLoad: function (errorCode) {
496-
//console.log('ad error: ' + errorCode);
497-
reject(errorCode);
496+
//console.log('ad error: ' + errorCode);
497+
reject(errorCode);
498498
}
499499
});
500500
firebase.admob.adView.setAdListener(new BannerAdListener());
501501

502502
var ad = firebase.admob._buildAdRequest(settings);
503503
firebase.admob.adView.loadAd(ad);
504-
504+
505505
var density = utils.layout.getDisplayDensity(),
506506
top = settings.margins.top * density,
507507
bottom = settings.margins.bottom * density;
508-
508+
509509
var relativeLayoutParams = new android.widget.RelativeLayout.LayoutParams(
510510
android.widget.RelativeLayout.LayoutParams.MATCH_PARENT,
511511
android.widget.RelativeLayout.LayoutParams.WRAP_CONTENT);
@@ -531,47 +531,47 @@ firebase.admob.showBanner = function (arg) {
531531
// a Page.loaded event 'frame.topmost()' doesn't resolve to 'undefined'
532532
setTimeout(function () {
533533
frame.topmost().currentPage.android.getParent().addView(adViewLayout, relativeLayoutParamsOuter);
534-
}, 0);
534+
}, 0);
535535
} catch (ex) {
536536
console.log("Error in firebase.admob.showBanner: " + ex);
537-
reject(ex);
537+
reject(ex);
538538
}
539539
});
540540
};
541541

542542
firebase.admob.showInterstitial = function (arg) {
543-
return new Promise(function (resolve, reject) {
544-
try {
545-
var settings = firebase.merge(arg, firebase.admob.defaults);
546-
firebase.admob.interstitialView = new com.google.android.gms.ads.InterstitialAd(appModule.android.foregroundActivity);
547-
firebase.admob.interstitialView.setAdUnitId(settings.androidInterstitialId);
548-
549-
// Interstitial ads must be loaded before they can be shown, so adding a listener
550-
var InterstitialAdListener = com.google.android.gms.ads.AdListener.extend({
551-
onAdLoaded: function () {
552-
firebase.admob.interstitialView.show();
553-
resolve();
554-
},
555-
onAdFailedToLoad: function (errorCode) {
556-
reject(errorCode);
557-
},
558-
onAdClosed: function () {
559-
firebase.admob.interstitialView.setAdListener(null);
560-
firebase.admob.interstitialView = null;
561-
}
562-
});
563-
firebase.admob.interstitialView.setAdListener(new InterstitialAdListener());
564-
565-
var ad = firebase.admob._buildAdRequest(settings);
566-
firebase.admob.interstitialView.loadAd(ad);
567-
} catch (ex) {
568-
console.log("Error in firebase.admob.showInterstitial: " + ex);
569-
reject(ex);
570-
}
571-
});
572-
};
573-
574-
firebase.admob.hideBanner = function (arg) {
543+
return new Promise(function (resolve, reject) {
544+
try {
545+
var settings = firebase.merge(arg, firebase.admob.defaults);
546+
firebase.admob.interstitialView = new com.google.android.gms.ads.InterstitialAd(appModule.android.foregroundActivity);
547+
firebase.admob.interstitialView.setAdUnitId(settings.androidInterstitialId);
548+
549+
// Interstitial ads must be loaded before they can be shown, so adding a listener
550+
var InterstitialAdListener = com.google.android.gms.ads.AdListener.extend({
551+
onAdLoaded: function () {
552+
firebase.admob.interstitialView.show();
553+
resolve();
554+
},
555+
onAdFailedToLoad: function (errorCode) {
556+
reject(errorCode);
557+
},
558+
onAdClosed: function () {
559+
firebase.admob.interstitialView.setAdListener(null);
560+
firebase.admob.interstitialView = null;
561+
}
562+
});
563+
firebase.admob.interstitialView.setAdListener(new InterstitialAdListener());
564+
565+
var ad = firebase.admob._buildAdRequest(settings);
566+
firebase.admob.interstitialView.loadAd(ad);
567+
} catch (ex) {
568+
console.log("Error in firebase.admob.showInterstitial: " + ex);
569+
reject(ex);
570+
}
571+
});
572+
};
573+
574+
firebase.admob.hideBanner = function (arg) {
575575
return new Promise(function (resolve, reject) {
576576
try {
577577
if (firebase.admob.adView !== null) {
@@ -2078,29 +2078,31 @@ firebase.invites.getInvitation = function () {
20782078

20792079
firebase._mGoogleApiClient.connect();
20802080

2081-
var getInvitationCallback = new com.google.android.gms.common.api.ResultCallback({
2082-
onResult: function (result) {
2081+
var firebaseDynamicLinks = com.google.firebase.dynamiclinks.FirebaseDynamicLinks.getInstance();
20832082

2084-
console.log("getInvitation:onResult:", result.getStatus().isSuccess());
2085-
if (result.getStatus().isSuccess()) {
2086-
// Extract information from the intent
2087-
var intent = result.getInvitationIntent();
2083+
var onSuccessListener = new com.google.android.gms.tasks.OnSuccessListener({
2084+
onSuccess: function (pendingDynamicLinkData) {
2085+
if (pendingDynamicLinkData === null) {
2086+
reject("Not launched by invitation");
2087+
return;
2088+
}
20882089

2089-
try {
2090-
var deepLink = com.google.android.gms.appinvite.AppInviteReferral.getDeepLink(intent);
2091-
var invitationId = com.google.android.gms.appinvite.AppInviteReferral.getInvitationId(intent);
2090+
// get the deeplink
2091+
var deepLinkUri = pendingDynamicLinkData.getLink();
20922092

2093-
resolve({
2094-
deepLink: firebase.toJsObject(deepLink),
2095-
invitationId: firebase.toJsObject(invitationId)
2096-
});
2093+
// extract invite
2094+
var firebaseAppInvite = com.google.firebase.appinvite.FirebaseAppInvite.getInvitation(pendingDynamicLinkData);
20972095

2098-
} catch (e) {
2099-
reject(e);
2100-
}
2101-
} else {
2102-
reject("Not launched by invitation");
2103-
}
2096+
resolve({
2097+
deepLink: deepLinkUri === null ? null : deepLinkUri.toString(),
2098+
invitationId: firebaseAppInvite.getInvitationId() // string | null
2099+
});
2100+
}
2101+
});
2102+
2103+
var onFailureListener = new com.google.android.gms.tasks.OnFailureListener({
2104+
onFailure: function (exception) {
2105+
reject(exception.getMessage());
21042106
}
21052107
});
21062108

0 commit comments

Comments
 (0)