SDKを導入する (iOS)
前提条件
SDKを導入するためには、以下が必要となります。
- Xcode 11.0 以上
- Visual Studio for Mac 8.7.4 以上
またプロジェクトは、以下の条件を満たす必要があります。
- プロジェクトのビルドターゲットが
iOS 10
以上
導入手順
STEP1: パッケージをインストールする
Visual Studio のサイドバーから Packages
を右クリックし Manage NuGet Packages...
をクリックします。検索バーに Karte
を入力して Karte.iOS.Core
パッケージをインストールしてください。また、インストール時にSDKの依存パッケージ(Xamarin.Swift)のライセンス確認アラートが表示されますので Accept
をクリックしてインストールしてください。
利用可能なパッケージについて
Karte.iOS.Core はイベントトラッキング機能のみを提供します。
アプリ内メッセージ・プッシュ通知受信などのその他機能については、別途パッケージを導入する必要があります。
利用可能なパッケージについては、利用可能なパッケージ一覧 をご覧ください。
STEP2: SDKの初期化コードを追加する
次にアプリケーションにSDKの初期化コードを追加します。
- Coreパッケージのusingディレクティブを追加
UIApplicationDelegate
を実装したクラスがあるファイルの先頭(通常はAppDelegate.cs)に using ディレクティブを追加します。
using Karte.iOS.Core;
- SDKの初期化コードを追加
FinishedLaunching(UIApplication, NSDictionary)
メソッド内に初期化コードを追加します。
[Export("application:didFinishLaunchingWithOptions:")]
public bool FinishedLaunching(UIApplication application, NSDictionary launchOptions)
{
KRTApp.SetupWithAppKey("アプリケーションキー");
return true;
}
アプリケーションキーについて
初期化時に指定するアプリケーションキーは、KARTE管理画面に記載されているAPIキーとは異なります。
アプリケーションキーは営業担当よりお送りするメールに記載されておりますので、そちらをご確認ください。
STEP3: URLスキームハンドラを追加する
KARTEで独自に定義したURLスキームを処理するために、OpenUrl(UIApplication, NSUrl, NSDictionary)
メソッド内にハンドラを追加します。
[Export("application:openURL:options:")]
public bool OpenUrl(UIApplication app, NSUrl url, NSDictionary options)
{
return KRTApp.Application(app, url);
}
なお iOS13 から利用可能な UISceneDelegate
を実装している場合は、WillConnect(UIScene, UISceneSession, UISceneConnectionOptions)
および OpenUrlContexts(UIScene, NSSet<UIOpenUrlContext>)
メソッド内にハンドラを追加します。
[Export("scene:willConnectToSession:options:")]
public void WillConnect(UIScene scene, UISceneSession session, UISceneConnectionOptions connectionOptions)
{
if (connectionOptions.UrlContexts?.Count > 0)
{
var context = connectionOptions.UrlContexts.ToArray<UIOpenUrlContext>().First();
if (context != null)
{
KRTApp.Application(UIApplication.SharedApplication, context.Url);
}
}
}
[Export("scene:openURLContexts:")]
public void OpenUrlContexts(UIScene scene, NSSet<UIOpenUrlContext> urlContexts)
{
if (urlContexts?.Count > 0)
{
var context = urlContexts.ToArray<UIOpenUrlContext>().First();
if (context != null)
{
KRTApp.Application(UIApplication.SharedApplication, context.Url);
}
}
}
利用可能なパッケージ一覧
KARTE Xamarin SDKでは機能毎にパッケージを提供しております。
利用する機能に応じて、部分的にパッケージを導入することが可能です。
Karte.iOS.Core
パッケージの導入は必須です。
Updated 9 months ago