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 3 months ago