質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Flutter

Flutterは、iOSとAndroidのアプリを同じコードで開発するためのフレームワークです。オープンソースで開発言語はDart。双方のプラットフォームにおける高度な実行パフォーマンスと開発効率を提供することを目的としています。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Google Play

Google Playは、Google社が提供しているAndroid端末向けのデジタルコンテンツ配信サービスです。Google Play Store アプリから、世界中の個人または企業が開発したアプリをダウンロードできます。有料アプリの売り上げは、70%を開発者、30%は通信キャリア等への支払いにあてられます。開発者が登録する場合は、初回のみ25ドルの登録手数料が必要です。

Q&A

0回答

1333閲覧

Flutterのfirebase_dynamic_linksがGoogle Play Storeでのインストール起動からのみ動作しない件

tanooosk

総合スコア8

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Flutter

Flutterは、iOSとAndroidのアプリを同じコードで開発するためのフレームワークです。オープンソースで開発言語はDart。双方のプラットフォームにおける高度な実行パフォーマンスと開発効率を提供することを目的としています。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Google Play

Google Playは、Google社が提供しているAndroid端末向けのデジタルコンテンツ配信サービスです。Google Play Store アプリから、世界中の個人または企業が開発したアプリをダウンロードできます。有料アプリの売り上げは、70%を開発者、30%は通信キャリア等への支払いにあてられます。開発者が登録する場合は、初回のみ25ドルの登録手数料が必要です。

0グッド

0クリップ

投稿2020/11/28 23:57

状況説明

Flutterでアプリ制作をしており、firebase_dynamic_linksパッケージを使ってダイナミックリンクを導入しております。

iOS、androidについて、①未インストール、②インストール済&アプリ未起動、③インストール済&アプリ起動済のケースについて、ダイナミックリンクからのディープリンク起動をテストしております。

このテストの中で、唯一、androidの①未インストールのケースの時のみ、Google Play Storeにはジャンプするけど、インストールした後、ストアの「開く」ボタンを押してアプリを起動しても、ディープリンクが作動せずに困っております。

(そもそも、正常な動作では、「開く」ボタンが「続く」ボタンになっているはずなのですが・・)

実装の参考にしてるサイト

基本的に、下記ページを参考に設定・実装を行っております。
パッケージのReadme
ステップバイステップ
dynamic linkの解釈
androidのintent-filterの設定

怪しい場所① intent-filter

基本的に、他のテストは全て動作しているので、dynamic linkを受信してからの動作には問題ないと思っています。
なのでそもそも、ストアでdeep linkが切れているのではないかと。
そこで怪しいのは、上記④記事にある通り、intent-filterの設定ですね。
この記事を参考に下記のように実装しておりますが、何か間違いがあるのでしょうか??
ちなみに、android開発はやったことがないのでど素人レベルです。
(/android/app/src/main/AndroidManifest.xml)

       <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> <!-- ↓通知でアプリ起動のための設定 --> <intent-filter> <action android:name="FLUTTER_NOTIFICATION_CLICK" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> <!-- ↓ダイナミックリンクからストアインストールからアプリ起動からディープリンク起動のための設定 --> <intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/> <category android:name="android.intent.category.BROWSABLE"/> <data android:host="memorymate.page.link" android:scheme="https"/> </intent-filter> <intent-filter android:autoVerify="true"> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/> <category android:name="android.intent.category.BROWSABLE"/> <data android:host="memorymate.page.link" android:scheme="http"/> <data android:host="memorymate.page.link" android:scheme="https"/> </intent-filter>

怪しい場所② dynamic linkの作成

可能性は少ないように思うのですが、link自体に何か間違いがあるのかなとも思うので、linkの生成コードを載せます。

final DynamicLinkParameters parameters = DynamicLinkParameters( uriPrefix: 'https://memorymate.page.link', link: Uri.parse('https://memorymate.page.link.com/?noteid=${widget.noteID}'), androidParameters: AndroidParameters( packageName: 'com.memorymate', ), iosParameters: IosParameters( bundleId: 'com.memorymate', appStoreId: '1537036392', ), socialMetaTagParameters: SocialMetaTagParameters( title: widget.noteTitle, description: widget.noteDescription, imageUrl: Uri.parse(widget.notePhotoURL != "" ? widget.notePhotoURL : "https://firebasestorage.googleapis.com/v0/b/memorymate-50732.appspot.com/o/profile%2Ficon_wide.png?alt=media&token=2ef0ecdb-fd75-4d55-a11b-61971227623c"), ), ); final Uri dynamicUrl = await parameters.buildUrl(); final ShortDynamicLink shortDynamicLink = await parameters.buildShortLink(); final Uri shortUrl = shortDynamicLink.shortUrl;

この最後のshortUrlをシェアしており、例えば、https://memorymate.page.link/7TNp2RkrsTD1qf8F9 が生成されたダイナミックリンクです。

よろしくお願いします。

私はFlutterでアプリ2作目のビギナーです。ネイティブ開発もやったことないです。
どんなヒントでもいいので、頂けたら嬉しいです!!

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問