後ほど新しいほうの訳を出す予定。
iOSアプリのApp Indexing設定
カスタムURLスキームのサポートを宣言カスタムスキームを利用したURLの処理検索からのディープリンクにバックバーのサポートを追加
1.カスタムURLスキームのサポートを宣言
Info.plist
を変更して、一つ以上のカスタムURLスキームをサポートしていることを宣言します。また、App IndexingをサポートするカスタムURLスキームも一つ宣言します。以下の画像は、gizmos
スキームとApp Indexing 用スキームのサポートを宣言するInfo.plist
です。gizmos
・gsd-gizmos
の二つのURLスキームを宣言しています。gizmos
をアプリが実際に利用している、ウェブサイト上で設定したものと同じURLスキームと置き換えてください。gsd-gizmos
. のサポートを宣言しています。実際に設定する時にはgsd-gizmos
をgsd-{scheme}
( {scheme} には上記gizmosで宣言したのと同じURLスキームを代入)と置き換えてください。
2.カスタムスキームを利用したURLの処理
Info.plist
でアプリが利用するカスタムスキームを宣言したら、AppDelegateが「スキームを利用したURLを処理するための正しいメソッド」を実装していることを確認します。詳しくはAppleの「handling inter-app communication」をご覧ください。
3.検索からのディープリンクにバックバーのサポートを追加
CocoaPodsをインストールします (すでにインストールしていれば省略可)Podfileに以下の一行を記載し、GoogleAppIndexing
Podを dependencyとして追加します。pod 'GoogleAppIndexing', '~> 1.0.0'$ pod installを利用し、GoogleAppIndexing Pod をXcodeプロジェクトに追加します。 詳しくは「 Using Cocoapods」をご覧ください。コードを更新すると、SDKの利用とディープリンクによる訪問を処理するのに適切なAPIコールが行われるようになります。#import... - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation { NSURL *sanitizedURL = [GSDDeepLink handleDeepLink:url]; // Navigate into the appropriate view in the app using sanitizedURL ... return YES; }
どういう仕組み?
iOS App URI:ios-app://{
itunes_id
}/{
scheme
}/{
host_path
}
GSD Deep Link:gsd-{scheme}://{itunes_id}/?google-deep-link=url-encode({scheme}://{host_path})&google-callback-url=url-encode(callback-url)&google-min-sdk-version=version
+[GSDDeepLink handleDeepLink:]
がデコードします。