インストール

Marketo Mobile SDKをインストールして初期化し、プッシュ通知、アプリ内メッセージ、またはその両方を送信します。

iOS への Marketo SDK のインストール

前提条件

  1. Marketo Adminでアプリケーションを追加し、アプリケーションの秘密鍵とMunchkin IDを取得します。
  2. オプション:​ プッシュ通知を設定

CocoaPods 経由のフレームワークのインストール

  1. CocoaPods をインストールします。$ sudo gem install cocoapods
  2. ディレクトリをプロジェクトディレクトリに変更し、スマートデフォルトを使用して Podfile を作成します。$ pod init
  3. Podfile を開きます。$ open -a Xcode Podfile
  4. Podfile に次の行を追加します。$ pod 'Marketo-iOS-SDK'
  5. Podfile を保存して閉じます。
  6. Marketo iOS SDK をダウンロードしてインストールします。$ pod install
  7. Xcodeでワークスペースを開きます。$ open App.xcworkspace

Swift パッケージマネージャーを使用したフレームワークのインストール

  1. プロジェクトナビゲーターでプロジェクトを選択します。 「パッケージ依存関係を追加」で、「+」を選択します。

    依存関係の追加

  2. https://github.com/Marketo/ios-sdkからMarketo パッケージを追加します。

    リポジトリ URL

  3. リソースバンドルを追加します。 プロジェクトナビゲーターでMarketoFramework.XCframeworkを見つけ、Finderで開きます。 MKTResources.bundleをドラッグしてバンドルリソースをコピーします。

Swift ブリッジングヘッダーの設定

  1. ファイル/新規/ファイルに移動し、「ヘッダーファイル」を選択します。

    「ヘッダーファイル」の選択

  2. ファイルに「<ProjectName>-Bridging-Header」という名前を付けます。

  3. プロジェクト/ターゲット/ビルドフェーズ/Swift コンパイラー/コード生成に移動します。 Objective-Bridging ヘッダーに次のパスを追加します。

    $(PODS_ROOT)/<_ProjectName_>-Bridging-Header.h

    ビルドフェーズ

SDK の初期化

Munchkin アカウント IDとアプリ秘密鍵を使用して、Marketo iOS SDKを初期化します。 Marketo Adminの「Mobile Apps and Devices」で両方の値を検索します。

  1. Objective-Cの場合はAppDelegate.m ファイル、Swiftの場合はBridging ファイルを開きます。 Marketo.h ヘッダーファイルを読み込みます。

    code language-none
    #import <MarketoFramework/MarketoFramework.h>
    
  2. 次のコードを application:didFinishLaunchingWithOptions: 関数内にペーストします。

    ネイティブアプリのフレームワークタイプとして「ネイティブ」を渡します。

Objective C
code language-objectivec
Marketo *sharedInstance = [Marketo sharedInstance];

[sharedInstance initializeWithMunchkinID:@"munchkinAccountId" appSecret:@"secretKey" mobileFrameworkType:@"native" launchOptions:launchOptions];
Swift
code language-swift
let sharedInstance: Marketo = Marketo.sharedInstance()

sharedInstance.initialize(withMunchkinID: "munchkinAccountId", appSecret: "secretKey", mobileFrameworkType: "native", launchOptions: launchOptions)
  1. munkinAccountIdsecretKeyをMarketo 管理者 > モバイルアプリとデバイス​の「Munchkin アカウント ID」と「秘密鍵」に置き換えます。

iOS テストデバイス

  1. プロジェクト/ターゲット/情報/URL タイプを選択します。
  2. 識別子${PRODUCT_NAME}を追加します。
  3. URL スキームをmkto-<Secret Key_>に設定します。
  4. ApplicationsourceApplicationをObjective-C用のAppDelegate.m ファイルに追加します。

AppDelegate でカスタム URL タイプを処理する

Objective C
code language-objectivec
- (BOOL)application:(UIApplication *)app
            openURL:(NSURL *)url
            options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options{

    return [[Marketo sharedInstance] application:app
                                         openURL:url
                                         options:options];
}
Swift
code language-swift
private func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool
    {
        return Marketo.sharedInstance().application(app, open: url, options: options)
    }

Android に Marketo SDK をインストールする方法

前提条件

  1. Marketo Adminでアプリケーションを追加し、アプリケーションの秘密鍵とMunchkin IDを取得します。
  2. オプション:​ プッシュ通知を設定
  3. Android用Marketo SDKのダウンロード

Gradle を使用した Android SDK の設定

  1. アプリケーションレベルのbuild.gradle ファイルで、「依存関係」セクションの下に依存関係を追加します。

    implementation 'com.marketo:MarketoSDK:0.8.9'

  2. ルート build.gradle ファイルに次の設定を追加します。

    code language-none
    buildscript {
        repositories {
            google()
            mavenCentral()
        }
    
  3. プロジェクトをGradle ファイルと同期します。

権限の設定

AndroidManifest.xmlを開き、次の権限を追加します。 アプリでは、「INTERNET」および「ACCESS_NETWORK_STATE」権限をリクエストする必要があります。 アプリが既にリクエストしている場合は、この手順をスキップします。

<uses‐permission android:name="android.permission.INTERNET"></uses‐permission>
<uses‐permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses‐permission>

SDK の初期化

  1. Application クラスまたはActivity クラスを開きます。 setContentViewの前またはアプリケーションコンテキストで、Marketo SDKをアクティビティに読み込みます。

    code language-java
    // Initialize Marketo
    Marketo marketoSdk = Marketo.getInstance(getApplicationContext());
    marketoSdk.initializeSDK("native","munchkinAccountId","secretKey");
    
  2. ProGuard 構成(オプション)

    アプリでProGuardを使用している場合は、プロジェクトフォルダーのproguard.cfg ファイルに次の行を追加します。 この設定により、Marketo SDKは難読化から除外されます。

    code language-none
    -dontwarn com.marketo.*
    -dontnote com.marketo.*
    -keep class com.marketo.`{ *; }
    

Android テストデバイス

アプリケーションタグ内の AndroidManifest.xml に「MarketoActivity」を追加します。

<activity android:name="com.marketo.MarketoActivity"  android:configChanges="orientation|screenSize" >
    <intent-filter android:label="MarketoActivity" >
        <action  android:name="android.intent.action.VIEW"/>
        <category  android:name="android.intent.category.DEFAULT"/>
        <category  android:name="android.intent.category.BROWSABLE"/>
        <data android:host="add_test_device" android:scheme="mkto" />
    </intent-filter>
</activity>

Firebase Cloud Messaging サポート

MME SDK for Androidは、GoogleのFirebase Cloud Messaging (FCM)の直接使用をサポートしています。

アプリケーションへの FCM の追加

  1. 最新のMarketo Android SDKをAndroid アプリに統合します。 GitHubの手順を参照してください。

  2. Firebase ConsoleでFirebase アプリを設定します。

    1. でのプロジェクトの作成/追加 🔗Firebase コンソール。

      1. Firebase コンソールで、Add Project を選択します。
      2. 既存の Google Cloud プロジェクトのリストから GCM プロジェクトを選択し、Add Firebase を選択します。
      3. Firebase のスタートアップスクリーンで、Add Firebase to your Android App を選択します。
      4. パッケージ名と SHA-1 を入力し、Add App を選択します。 Firebase アプリの新しい google-services.json ファイルがダウンロードされます。
      5. Continue を選択し、Android Studio に Google サービスプラグインを追加する詳細な手順に従います。
    2. プロジェクトの概要の「プロジェクト設定」に移動

      1. 「一般」タブをクリックします。 「google-services.json」ファイルをダウンロードします。
      2. 「Cloud Messaging」タブをクリックします。 「サーバーキー」と「送信者 ID」をコピーします。 これらの「サーバーキー」と「送信者 ID」を Marketo に指定します。
    3. Android アプリでFCMを設定します。

      1. Android Studio のプロジェクトビューに切り替えて、プロジェクトのルートディレクトリを確認します

        1. ダウンロードした「google-services.json」ファイルを Android アプリモジュールのルートディレクトリに移動します。

        2. プロジェクトレベルの build.gradle に次を追加します。

          code language-none
          buildscript {
            dependencies {
              classpath 'com.google.gms:google-services:4.0.0'
            }
          }
          
        3. アプリレベルの build.gradle に以下を追加します。

          code language-none
          dependencies {
            compile 'com.google.firebase:firebase-core:17.4.0'
          }
          // Add to the bottom of the file
          apply plugin: 'com.google.gms.google-services'
          
        4. 最後に、IDに表示されるバーで「今すぐ同期」を選択します

    4. アプリマニフェストを編集します。 FCM SDKは、必要な権限と受信者の機能を自動的に追加します。 メッセージの重複を引き起こす可能性のある、次の古い要素を削除します。

      code language-xml
      <uses-permission android:name="android.permission.WAKE_LOCK" />
      <permission android:name="<your-package-name>.permission.C2D_MESSAGE" android:protectionLevel="signature" />
      <uses-permission android:name="<your-package-name>.permission.C2D_MESSAGE" />
      
      ...
      
      <receiver>
        android:name="com.google.android.gms.gcm.GcmReceiver"
        android:exported="true"
        android:permission="com.google.android.c2dm.permission.SEND"
        <intent-filter>
          <action android:name="com.google.android.c2dm.intent.RECEIVE" />
          <category android:name="<your-package-name> />
        </intent-filter>
      </receiver>
      
recommendation-more-help
marketo-developer-help