2016-12-07 6 views
3

私はアップルユニバーサルリンクのコンセプトを使用して、私のアプリでcontinueUserActivityメソッド内の共有リンクまたはURL(メッセージ、電子メール、およびその他のソーシャルアプリを通じてユーザーがクリックしたもの)を読み込み/取得しています。iOS:Apple Universal Link continueUserActivityメソッドは、アプリがインストールされていないと呼び出されませんか?

ユーザーがリンクをクリックして、アプリが既に端末にインストールされている場合は、continueUserActivityメソッドが呼び出されて正常に動作しています。

ユーザーがリンクをクリックして、アプリケーションがデバイスにインストールされていない場合、リンクは自動的にApple Storeにリダイレクトされて(使用されたjavascript)、インストール後にアプリケーションをインストールした後にcontinueUserActivityメソッドまったく呼びます。 Apple Storeからアプリをインストールして開くとcontinueUserActivityメソッドが呼び出されますか?私は何かが欠けていますか?私を助けてください。

私はそのリンクをタップしたとき、その特定のデバイスのためのセッションを作成するようにし、アプリケーションが取得するときに、バックエンドを作成する必要がありますタスクのようなもののためにiOS 9.3.1

-(BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void(^)(NSArray * restorableObjects))restorationHandler { 

    if ([userActivity.activityType isEqualToString:NSUserActivityTypeBrowsingWeb]) { 

    if ([[userActivity.webpageURL absoluteString] hasSuffix:@"12345"]) { 

     // Open Item details view controller 
    } 
    } 
    return YES; 
} 

答えて

8

と、デバイス上でそれをテストしていますそのデバイスのセッションをチェックして、そのパラメータに応答するバックグラウンドでAPIを呼び出します。上記の場合、多くのことを管理する必要があります。サードパーティを使用しても構わない場合は、Branch.ioに行ってください。彼らはあなたが望むすべての種類のものを扱い、開発の痛みを引き起こさないでしょう。

+0

ご返信ありがとうございます。だから、アップルストアからアプリをインストールしてストアから開くと、continueUserActivityメソッドは呼び出されません。 –

+0

@GaneshGuturiはい、明示的に処理するまで、あなたのケースでは呼び出されません。 –

+0

さらに明確にするため、 'continueUserActivity'メソッドは、アプリケーションがUniversal LinksまたはSpotlight経由で開かれている場合にのみ呼び出されます。これらのオプションのいずれかが利用可能になるには、アプリがすでにインストールされている必要があるため、ユーザーがアプリを最初にダウンロードする必要がある場合、 'continueUserActivity'は呼び出されません。 –

関連する問題