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の初期化コードを追加します。

  1. Coreパッケージのusingディレクティブを追加
    UIApplicationDelegate を実装したクラスがあるファイルの先頭(通常はAppDelegate.cs)に using ディレクティブを追加します。
using Karte.iOS.Core;
  1. 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 パッケージの導入は必須です。

パッケージ名説明
Karte.iOS.Coreイベントトラッキング機能を提供します。
Karte.iOS.InAppMessagingアプリ内メッセージ機能を提供します。(導入手順)
Karte.iOS.Notificationプッシュ通知の受信および効果測定機能を提供します。(導入手順)
Karte.iOS.Variables設定値配信機能を提供します。(導入手順)