ディープリンクをアプリに実装するのは通常なかなか骨の折れる仕事ですが、
ミドルウェア・ゲームエンジンを用いてアプリを開発している場合は尚更です。
そこで今回はUnityで制作したアプリにFacebook SDKのディープリンク機能であるApp Linksの導入方法を紹介します。なお今回検証したUnityバージョンは4.2となります。
#Unity用Facebook SDKの導入
Facebookのデベロッパーサイトに行き、SDKを導入するアプリを登録します。
登録すると、Facebook App IDが発行されます。
続いて最新のUnity用Facebook SDKをダウンロードしてください。
https://developers.facebook.com/docs/unity/downloads?locale=ja_JP
UnityでSDKを導入するプロジェクトを開き、
ダウンロードしたFacebook SDKのunity packageファイルをダブルクリックして全ファイルをimportします。
Unityを再起動するとメニューバーに「Facebook」という項目が増えているので、
そこから「Edit Setting」を開き、「App Name」に任意のアプリ名、「App Id」に先ほどデベロッパーサイトで発行したFacebook App ID、「URL Scheme Suffix」に任意のURLスキームを記述します。
#Unity側でのディープリンクの記述
アプリのトップページとなるSceneを開きます。
トップページにあるオブジェクトにひも付けられたスクリプトに、下記のメソッドを追加してください。
#if UNITY_IPHONE && !UNITY_EDITOR
public void DeepLinkMethod (string targetUrl) {
// 必要に応じて遷移先を分岐させる
Application.LoadLevel(“<遷移先Scene名>”);
}
#else
public void DeepLink () {
// Android端末での挙動
}
#endif
以上でUnity側での設定ができました。
Xcodeプロジェクトにビルドし、Xcodeでの設定に移ります。
#Xcode側でのディープリンクの記述
UnityAppController.mmを開き、設定を追加していきましょう。
- (BOOL)application:(UIApplication*)application openURL:(NSURL*)url sourceApplication:(NSString*)sourceApplication annotation:(id)annotation
{
…
BFURL *parsedUrl = [BFURL URLWithInboundURL:url sourceApplication:sourceApplication];
if ([parsedUrl appLinkData]) {
NSURL *targetUrl = [parsedUrl targetURL];
UnitySendMessage(“HogeObject”, “DeepLinkMethod”, targetUrl);
}
…
}
これでディープリンクの導入ができました。
ADD_ITEMを使うともっとラクチンにできるかもしれないので、引き続き検証しようと思います。
今回は以上です!