AndroidとiOSでcustom URL schemeを実装しました。これはユーザーに「有効化」メールを送信するという考えでネイティブアプリを生み出すリンクをクリックするそれがうまく動作しますが、Android上で、それが動作しないiOSではアンドロイドのGmailでカスタムURLスキームまたはインテント:// URLを開くことができません
<a href="myapp://activate/accountId/uniquetoken">Click to activate</a>
:
は技術的には、我々のようなリンクを電子メールでフォーマットされたHTMLを送信します。
アンドロイド自身がcustom URL schemeを処理しなければならない他のいくつかのS.O投稿や類似のものを見たことがありますが、これらのカスタムを取り除くChromeブラウザとGmailアプリケーションであることを示していますmyapp://
URLがありません。
これらの投稿のアドバイスに従って、私は意図のURLを作成しようとしました。私は次のすべてを試しました
intent://activate#Intent;scheme=myapp;package=com.mycompany.myapp;end
#Intent;action=activate;end
#Intent;component=com.mycompany.myapp/.ui.MainActivity;end
intent://#Intent;component=com.mycompany.myapp/.ui.MainActivity;end
しかし、どれも働いていませんでした。アンドロイド6のアンドロイドアプリのGMail内からクリック可能なものはありませんでした。意図したウイリアムのフォーマットに関するアンドロイドの文書は信じられないほど詳しく書かれていません。私は見つけることができる最高のは、「プログラム的にそれに.toUriを呼び出し、Javaで自分の意図を作成する」であるすべてのヘルプははるかに高く評価されるだろう
(Iが生成する方法であるURIが上記だ壊れた意図のほとんど)
アップデート1はここでマニフェストのAndroidからの私の活動との意図だ
<activity android:name=".ui.MainActivity" android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<!-- load via URL scheme -->
<intent-filter>
<data android:scheme="myapp" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
私は戻ってカスタムアプリケーションスキームに「反映」ウェブサーバを、設定しようとした
、これは両方のAndroidのための作業を行いますとiOS
は、Webブラウザ(Chrome for Androidのは)それは(種類の)ソリューションを提供して、起動するネイティブアプリを引き起こし、このリダイレクトを、以下のmyapp://activate/accountId/uniqueToken
にリダイレクトしないページ0
<a href="http://mycloudserver.net/myapp/activate/accountId/uniqueToken">Click</a>
アンドロイドアプリ向けGmailの
これはクラウドサーバに人為的な依存関係を持ちますが、これは避けるのがよいでしょう。
iOSでは、Safariブラウザにも空のページが残っていますが、これは軽微ですが残念です。
'myapp:// activate/accountId/uniqueToken'の場合は、あなたのIntentに完全パスを入れるか、少なくともAndroidManifest.xmlの' intent-filter'のパスに十分に入れる必要があります'それを特定することができます。 urlスキームを扱う 'AndroidManifest.xml'の' intent-filter'を貼り付けることができますか? – nicobatu