3

ユーザーがウェブサイトのウェブ URL をクリックするたびに、ユーザーがアプリを開くことを許可します (インストールされている場合、そうでない場合は App Store アプリ ページにリダイレクトします)。

Universal Linksは、iOS-9 以降の上記の要件を満たす方法であることがわかりました。また、Web サーバーや Apple Developer portal で取り上げるべきポイントも知っています。

唯一の質問は、Appcelerator Titanium アプリで関連付けられたドメインを有効にするにはどうすればよいですか?

手がかりや助けを事前にありがとう。

4

1 に答える 1

7

このプロセスを使用して、本番アプリで ios と android の両方のユニバーサル リンクを機能させています ( AppC ハンドオフ サンプル アプリに基づく:

1) Apple Dev Center の関連ドメインをアプリに追加 -> これにより、Titanium でのビルドに使用する新しいプロビジョニング プロファイルが生成されます。

2) Entitlments.plist ファイルを明示的に編集する必要があります。通常、これは Ti によって自動生成されます。このファイルのコピーを取得するには、次の手順を実行します。

a) Build app for device
b) Navigate to project\build\iphone
c) Find the generated Entitlments.plist file

3) このファイルをプロジェクトのルート フォルダーにコピーし、"dict" ノードの下に次を追加します。

<key>com.apple.developer.associated­domains</key>
<array>
  <string>applinks:www.example.com</string> 
</array>

これにより、アプリをリンク用の正しい Web サイトにバインドするために必要なデータが作成されます。

4) ディープリンクのクリック + URL を実際にキャプチャするには、次のイベントをリッスンする必要があります: Ti.App.iOS.continueactivity

元:

Ti.App.iOS.addEventListener('continueactivity', function(e){
  //Since this event can be fired from multiple cases 
  //we need to check if it was a deeplink that fired it
  if(e.activityType === "NSUserActivityTypeBrowsingWeb"){
    //Since it WAS from a deeplink, the event response contains some 
    //other useful data (see the docs link)
    var deepLinkURL = e.webpageURL;
    //From here you can navigate the app to a relevant page etc...
  }
};

悲しいことに、この機能はSDK 5.Xで壊れていました.TIMOB-20220(ワンライナー)で修正されましたが、公式の.GA SDKには5.4.0まで含まれません. 6月発売予定)。

さらに質問がある場合は、Ti Slackグループ チャットも質問するのに最適な場所です (多数のアクティブ ユーザー)。

于 2016-04-11T20:19:11.803 に答える