Firebase 招待を使用し、Android でアプリの起動時に動的リンクにアクセスする場合、ユーザーが招待のおかげでアプリをインストールしたのか、それとも既にインストールされているのかを知る方法はありますか?
どうもありがとう、
ボルハ
Firebase 招待を使用し、Android でアプリの起動時に動的リンクにアクセスする場合、ユーザーが招待のおかげでアプリをインストールしたのか、それとも既にインストールされているのかを知る方法はありますか?
どうもありがとう、
ボルハ
編集:答えてくれたCatalin Morosanに感謝
method を使用してこれを見つけることができることがわかりましたAppInviteReferral.isOpenedFromPlayStore(result.getInvitationIntent())
。招待状をクリックすると実行されるアクティビティで:
// Create an auto-managed GoogleApiClient with access to App Invites.
mGoogleApiClientInvite = new GoogleApiClient.Builder(this)
.addApi(AppInvite.API)
.enableAutoManage(this, this)
.build();
// Check for App Invite invitations and launch deep-link activity if possible.
// Requires that an Activity is registered in AndroidManifest.xml to handle
// deep-link URLs.
boolean autoLaunchDeepLink = false;
AppInvite.AppInviteApi.getInvitation(mGoogleApiClientInvite, this, autoLaunchDeepLink)
.setResultCallback(
new ResultCallback<AppInviteInvitationResult>() {
@Override
public void onResult(AppInviteInvitationResult result) {
if (result.getStatus().isSuccess()) {
// Extract information from the intent
Intent intent = result.getInvitationIntent();
String invitationId = AppInviteReferral.getInvitationId(intent);
boolean alreadyUser = AppInviteReferral.isOpenedFromPlayStore(result.getInvitationIntent());
if (alreadyUser) {
// Do stuff...
} else {
// Do other stuff...
}
}
}
});
この Google プロダクト フォームの投稿に基づいて、Firebase Dynamic Links ライブラリは、アプリの有効期間ごとに 1 回だけ着信ディープ リンクをチェックします。つまり、もう一度チェックするには、アプリをアンインストールして再インストールする必要があります。これはメソッドの動作に影響を与えgetInvitation()
、このメソッドの結果に基づいてアプリが以前にインストールされたかどうかを暗示できるようです。
私には、これは非常に紛らわしいようです。Branch.ioでは、これとはまったく異なります。リンク データ オブジェクトには常にis_first_session
ブール値が含まれており、これを任意の方法でプログラムで処理できます。