最近、私は新しいAndroidアプリをリリースしますが、iOS版は数ヶ月でApp Storeで利用可能になります。このアプリの中には、友人を招待してFirebase Invites経由でアプリをダウンロードするオプションがあります。Firebase Dynamic Linkはウェブサイトにユーザーを送信しません
だから私は、次のように動作するはずFirebaseコンソールを使用して動的リンクを作成:
if (IOS) {
// Go to app website
} else if (ANDROID) {
if (APP_INSTALLED) {
// Open app
} else {
// Open Google Play
}
} else if (DESKTOP) {
// Go to app website
}
リンク自体は、この(プライベート情報が削除)のようになります。
https://[custom_domain].app.goo.gl/?
link=https://app_website.com&
apn=com.my.app&st=meta+data_header&
sd=meta+data+description&
si=https://app_website.com/meta_data_image.png&
utm_source=INVITE&
efr=1
Firebase招待です
Uri deepLink = Uri.parse(getString(R.string.invitation_deep_link));
String invitationMessage = getString(R.string.invitation_message);
String emailTitle = String.format(getString(R.string.invitation_email_title), getUserName());
Intent intent = new AppInviteInvitation.IntentBuilder(getString(R.string.invitation_title))
.setMessage (invitationMessage)
.setDeepLink(deepLink)
.setEmailSubject(emailTitle)
.setEmailHtmlContent(mRawEmailHtml)
.setOtherPlatformsTargetApplication(
AppInviteInvitation.IntentBuilder.PlatformMode.PROJECT_PLATFORM_IOS,
getString(R.string.ios_app_client_id))
.build();
startActivityForResult(intent, InviteActivity.REQUEST_INVITE);
Androidでは、正常に動作しますが、iOSでは、いくつかのTRANGEのものがここに...起こっているユースケースは、次のとおりです。
SMSアプリが既にインストールされているAndroidデバイス上で受信したリンクをクリック
- - >アプリが開きます [素晴らしいを!]
- Android搭載端末で受信したリンクをクリックしてアプリがインストールされていない - > Google Playが開きます[すばらしい]
- iPhoneで受信したリンクをクリックすると、アプリがインストールされていません - >ブラウザが開きます上にJavaScriptのポップアップが表示され、質問:
「App Store」でこのページを開きますか?
[OK]をクリックすると、「アイテムが利用できません」ページが開き、[キャンセル]をクリックするとユーザーは空白のブラウザページに残ります。 [それほど素晴らしい全然!]アプリが既にインストールされているAndroidデバイス上で受信したリンクをクリック
メール
- - [!偉大]を>アプリが開きます
- クリック既にインストールされていないAndroid搭載端末のリンクを受信しました - > Google Playが[great!]を開きます
- iPhoneで受信したリンクをクリックすると、アプリがインストールされていません - >ブラウザがiOSネイティブで開きます上にポップアップと言う:
このページは別のアプリケーションで開きます。
[OK]をクリックすると、「アイテムが見つかりません」ページが開き、[キャンセル]をクリックするとユーザーは空のブラウザページに残ります。 [それほど素晴らしいわけではありません]
Googleにはバグがあります。間違っていて、バグのある人が私です。
ありがとうOleksiy。いくつかのテストを実行した後、私はダイナミックリンクを変更し、それが間違って機能するようになったため、奇妙な動作(ダイアログや間違ったリダイレクト)の原因がFirebase Invitesであったことを理解するようになりました..悲しいことに、Firebase Invitesを私の私のカスタム招待UIとその背後にあるロジックを実装する – Barakuda