私はいくつかの調査をして、次のことを発見しました、これは私がこれまでに行ったことです:
myApp://
などのカスタムURLを実装
FacebookAppID、表示名をinfo.plistファイルに追加
Facebook SDKを含む
FacebookモバイルホスティングAPIを介してFacebookアプリリンクを作成し、次のようなURLを取得しました:https://fb.me/1601524146753610
アプリインストール広告の作成中に、上記のURLをディープリンクとして使用しました。
AppDelegate.mに以下の関数を実装しました
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
以下のコードをAppDelegate.mに追加しました
//Initialization
[FBAppEvents activateApp];
[FBSettings setClientToken:@"ca45a3a2133ae2f37ebd4d90408816e6"];
//Function to check for deferred deep link and call the method with recieved url
[FBSDKAppLinkUtility fetchDeferredAppLink:^(NSURL *url,NSError *error){
if(url)
[self application:nil openURL:url sourceApplication:nil annotation:nil];
}];
遅延ディープリンクの取得で何かを見逃した場合はお知らせください。
また、iOSアプリをappStoreに公開する前に同じことをテストするにはどうすればよいですか。
私は同じFacebookのサポートを報告しており、遅延ディープリンク機能を実装するためには上記の手順が正しいと彼らは言った。
また、同じことを次のようにテストできます。
アプリを選択して[送信]をクリックします。
下部の[開発ツール]の下に[ディープリンクテスター]があります。 [ディープリンクのテスト]をクリックすると、ダイアログにディープリンクを入力してテストできます。
したがって、これを行った後、アプリをアンインストールし(既に存在する場合)、アプリストアから再度インストールする必要があります。これをテストするデバイスには、Facebookアプリがインストールされ、アプリ広告ヘルパーから「遅延ディープリンクリクエスト」を送信したアカウントでログインしている必要があります。
これで、アプリを開くと、遅延ディープリンク機能が機能していることがわかります。
上記の手順でうまくいきました。
「通知を送信」と「延期を送信」の両方のチェックマークを選択します。
次に、Facebookアプリへの通知を受け取ります。
8. info.plistに以下のキーを追加します。
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>**Your URL Scheme** </string>
<string>**Your FB app id** </string>
</array>
</dict>
</array>
「testScheme:// .......」のようなURLスキーム
FBアプリID「fb .........」のように
これで2つのケースをテストできます。
アプリは既に遅延リンク実装でデバイスにインストールされています
新規インストール
1つ目のケースでは、アプリをインストールしてからFacebookの通知をクリックすると、アプリにリダイレクトされます。
2番目の場合、新規インストールの場合
アプリをアンインストールし、デバイスをxcodeに接続します
次に、ディープリンクFacebook通知をクリックします。通知はアプリストアにリダイレクトされます。公開されたアプリにはアプリディープリンクの実装がないため、アプリストアからインストールしないでください。
その後、xcodeからアプリを実行できます。インストールすると、ディープリンクが最初のケースとして開かれます。
それは....
注:実装することを忘れないでください
- (void)applicationDidBecomeActive:(UIApplication *)application {
[FBSDKAppLinkUtility fetchDeferredAppLink:^(NSURL *url,NSError *error){
if(url)
{
// redirect to where you want
}
}];
...........
}
追加情報:
アプリをストアにデプロイする必要がありますか? – locoboy 2015年8月7日16:38
彼らが私の前に言ったようにディープリンクまたは据え置きディープリンクをテストするために:
activateApp
のトリガーを忘れないでください)