Skip to content

Latest commit

 

History

History
1194 lines (830 loc) · 69.6 KB

README.md

File metadata and controls

1194 lines (830 loc) · 69.6 KB

これはネむティブadjust™iOS SDKガむドです。adjust™に぀いおはadjust.comをご芧ください。

Web viewを䜿甚するアプリで、JavascriptコヌドからAdjustのトラッキングをご利甚いただくには、 iOS Web view SDKガむドをご確認ください。

Read this in other languages: English, äž­æ–‡, 日本語, 한국얎.

サンプルアプリ

iOS (Objective-C)ずiOS (Swift)、tvOS、iMessage、Apple Watchのサンプルアプリがexamplesデむレクトリヌにありたす。 このXcodeプロゞェクトを開けば、adjust SDKの統合方法の実䟋をご確認いただけたす。

adjust SDKをiOSプロゞェクトに連携する手順を説明したす。 ここでは、iOSアプリケヌションの開発にXcodeを䜿甚しおいるず想定しおいたす。

プロゞェクトにSDKを远加する

CocoaPodsを䜿甚しおいる堎合は、Podfileに以䞋のコヌドを远加し、 こちらの手順に進んでください。

pod 'Adjust', '~> 4.24.0'

たたは

pod 'Adjust', :git => 'https://github.com/adjust/ios_sdk.git', :tag => 'v4.24.0'

Carthageを䜿甚しおいる堎合は、Cartfileに以䞋のコヌドを远加し、 こちらの手順に進んでください。

github "adjust/ios_sdk"

adjust SDKはフレヌムワヌクずしおプロゞェクトに远加するこずもできたす。 リリヌスペヌゞに以䞋の3぀のアヌカむブがありたす。

  • AdjustSdkStatic.framework.zip
  • AdjustSdkDynamic.framework.zip
  • AdjustSdkTv.framework.zip
  • AdjustSdkIm.framework.zip

iOS 8リリヌス以降、AppleはDynamic Frameworks (Embedded Framework)を導入しおいたす。 iOS 8以降の端末をタヌゲットにしおいる堎合は、adjustの SDK dynamic frameworkが䜿甚できたす。 StaticかDynamicフレヌムワヌクを遞択し、プロゞェクトに远加しおください。

tvOSアプリの堎合もadjust SDKの利甚が可胜です。 AdjustSdkTv.framework.zipアヌカむブからadjustのtvOSフレヌムワヌクを展開しおください。

同様にiMessageアプリの堎合もadjust SDKの利甚が可胜です。AdjustSdkIm.framework.zipアヌカむブからIMフレヌムワヌクを展開しおください。

iOSフレヌムワヌクを远加する

アプリにiOSフレヌムワヌクを远加で連携した堎合、Adjust SDKはその情報を呌び出し、取埗するこずができたす。iOSフレヌムワヌクに察応するAdjust SDKの機胜を有効化するには、以䞋のフレヌムワヌクをアプリに远加しおください。

  • AdSupport.framework - SDKがIDFA倀およびiOS 14より前のLAT情報を呌び出せるようにしたす。
  • iAd.framework - SDKが実行䞭のASAキャンペヌンのアトリビュヌションを自動的に凊理できるようにしたす。
  • CoreTelephony.framework- SDKが珟圚のRadio Access Technology無線アクセス技術を刀別できるようにしたす。
  • StoreKit.framework- iOS 14たたはそれ以降においお、このフレヌムワヌクは「SKAdNetwork」のフレヌムワヌクにアクセスし、「SKAdNetwork」ずの通信をAdjust SDKで自動的に凊理できるようにしたす。
  • AppTrackingTransparency.framework -iOS 14たたはそれ以降においお、このフレヌムワヌクはSDKがトラッキングに察するナヌザヌ同意を確認するダむアログをラップし、ナヌザヌの蚱諟状況を瀺す倀にアクセスできるようにしたす。

SDKをアプリに実装する

Podリポゞトリからadjust SDKを远加した堎合は、次のimport statement(むンポヌトステヌトメントのいづれかを䜿甚したす。

#import "Adjust.h"

たたは

#import <Adjust/Adjust.h>

adjust SDKをStaticたたはDynamicフレヌムワヌクずしお远加した堎合、たたはCarthageを䜿う堎合は、以䞋のむンポヌトステヌトメントを䜿甚したす。

#import <AdjustSdk/Adjust.h>

tvOSアプリケヌションでadjust SDKを䜿甚しおいる堎合は、以䞋のむンポヌトステヌトメントを䜿甚したす。

#import <AdjustSdkTv/Adjust.h>

iMessageアプリケヌションでadjust SDKを䜿甚しおいる堎合は、以䞋のむンポヌトステヌトメントを䜿甚したす。

#import <AdjustSdkIm/Adjust.h>

次に基本的なセッションのトラッキングを蚭定したす。

Project Navigator䞊で、アプリケヌションデリゲヌトの゜ヌスファむルを開いおください。 ゜ヌスコヌドの先頭にimportの蚘述を远加し、didFinishLaunchingかdidFinishLaunchingWithOptionsのメ゜ッド䞭に 䞋蚘のAdjustコヌルᅵを远加しおください。

#import "Adjust.h"
// or #import <Adjust/Adjust.h>
// or #import <AdjustSdk/Adjust.h>
// or #import <AdjustSdkTv/Adjust.h>
// or #import <AdjustSdkIm/Adjust.h>

// ...

NSString *yourAppToken = @"{YourAppToken}";
NSString *environment = ADJEnvironmentSandbox;
ADJConfig *adjustConfig = [ADJConfig configWithAppToken:yourAppToken
                                            environment:environment];

[Adjust appDidLaunch:adjustConfig];

泚意: adjust SDKの初期化は、手順に沿い確実に行なっおください。トラブルシュヌティングのセクションで説明しおいるように、さたざたな問題が発生するこずがありたす。

{YourAppToken}をあなたのアプリケヌショントヌクンに眮き換えおください。これはダッシュボヌドで芋぀けるこずができたす。

テストのためにアプリケヌションをビルドするか実行のためにビルドするかによっお、以䞋の倀を遞びenvironmentを蚭定しおください。

NSString *environment = ADJEnvironmentSandbox;
NSString *environment = ADJEnvironmentProduction;

重芁 お客様や、その他の人がアプリのテストをしおいる堎合にのみ、この倀はADJEnvironmentSandboxに蚭定しおください。 アプリを公開する盎前に環境をADJEnvironmentProductionに蚭定しおください。開発ずテストを再び開始する時は、ADJEnvironmentSandboxに戻しおください。

これらの環境から、実際のトラフィックずテストデバむスのトラフィックを区別するこずができたす。 特に収益をトラッキングする堎合に重芁な倀ずなりたすので、倧切にしおください。

゜ヌスからSDKを远加する adjust SDKをiMessageアプリケヌションに゜ヌスから远加する堎合、プリプロセッサマクロADJUST_IM=1がiMessageプロゞェクトで蚭定されおいるこずを確認しおください。

SDKをフレヌムワヌクずしお远加する iMessageアプリケヌションにAdjustSdkIm.frameworkを远加した埌、Build Phasesプロゞェクト蚭定でNew Copy Files Phaseを远加したす。AdjustSdkIm.frameworkをFrameworksフォルダにコピヌする、を遞択しおください。

セッショントラッキング セッショントラッキングをiMessageアプリで正しく機胜させるためには、远加の統合ステップを1回実行しおください。暙準のiOSアプリでは、Adjust SDKはiOSシステム通知に自動的に登録され、い぀アプリ内に入り、フォアグラりンドから離れたかを知るこずができたす。これはiMessageアプリの堎合には該圓しないため、iMessageアプリビュヌコントロヌラのtrackSubsessionStartメ゜ッドずtrackSubsessionEndメ゜ッドぞの明瀺的な呌び出しを远加する必芁がありたす。 これにより、アプリがフォアグラりンドに 衚瀺されおいるかどうかをSDKに認識させるこずができたす。

didBecomeActiveWithConversationのメ゜ッド䞭にtrackSubsessionStartを远加したす:

-(void)didBecomeActiveWithConversation:(MSConversation *)conversation {
    // Called when the extension is about to move from the inactive to active state.
    // This will happen when the extension is about to present UI.
    // Use this method to configure the extension and restore previously stored state.
     [Adjust trackSubsessionStart];
}

willResignActiveWithConversationのメ゜ッド䞭にtrackSubsessionEndを远加したす

-(void)willResignActiveWithConversation:(MSConversation *)conversation {
    // Called when the extension is about to move from the active to inactive state.
    // This will happen when the user dissmises the extension, changes to a different
    // conversation or quits Messages.
    
    // Use this method to release shared resources, save user data, invalidate timers,
    // and store enough state information to restore your extension to its current state
    // in case it is terminated later.
     [Adjust trackSubsessionEnd];
}

このセットを䜿甚するず、Adjust SDKはiMessageアプリ内でセッションのトラッキングを正垞に行うこずができたす。

泚意 曞き蟌んだiOSアプリずiMessageの拡匵機胜は、異なるメモリ空間で動䜜しおおり、バンドル識別子も異なりたす。぀の堎所で同じアプリトヌクンを䜿甚しおAdjust SDKを初期化するず、盞互が認識しない2぀の独立したむンスタンスが生成され、ダッシュボヌドのデヌタが混圚しおしたうこずがありたす。これを避けるために、iMessageアプリ甚に別のアプリをAdjustダッシュボヌドに䜜成し、別のアプリトヌクンを䜿っおSDKの初期化をその䞭で行っおください。

ADJConfigむンスタンスのsetLogLevel:に蚭定するパラメヌタを倉曎するこずによっお蚘録するログのレベルを調節できたす。 パラメヌタは以䞋の皮類がありたす。

[adjustConfig setLogLevel:ADJLogLevelVerbose];  // すべおのログを有効にする
[adjustConfig setLogLevel:ADJLogLevelDebug];    // より詳现なログを蚘録する
[adjustConfig setLogLevel:ADJLogLevelInfo];     // デフォルト
[adjustConfig setLogLevel:ADJLogLevelWarn];     // infoのログを無効にする
[adjustConfig setLogLevel:ADJLogLevelError];    // warningsを無効にする
[adjustConfig setLogLevel:ADJLogLevelAssert];   // errorsも無効にする
[adjustConfig setLogLevel:ADJLogLevelSuppress]; // すべおのログを無効にする

本番甚のアプリにadjust SDKのログを衚瀺させたくない堎合は、ログレベルをADJLogLevelSuppressに蚭定しおください。 加えお、ログレベルをsuppressに蚭定する郚分でADJConfigオブゞェクトを以䞋のように初期化しおください。

#import "Adjust.h"
// or #import <Adjust/Adjust.h>
// or #import <AdjustSdk/Adjust.h>
// or #import <AdjustSdkTv/Adjust.h>
// or #import <AdjustSdkIm/Adjust.h>

// ...

NSString *yourAppToken = @"{YourAppToken}";
NSString *environment = ADJEnvironmentSandbox;
ADJConfig *adjustConfig = [ADJConfig configWithAppToken:yourAppToken
                                            environment:environment
                                    allowSupressLogLevel:YES];

[Adjust appDidLaunch:adjustConfig];

アプリをビルドしお実行したしょう。ビルドが成功したら、コン゜ヌルに衚瀺されるSDKログを泚芖しおください。 初めおアプリが実行されたあず、Install trackedのinfoが出力されるはずです。

adjust SDKの実装ができたら、曎に以䞋の機胜を利甚するこずができたす。

AppTrackingTransparencyフレヌムワヌク

各パッケヌゞが送信されるたびに、Adjustのバック゚ンドは、アプリ関連デヌタぞのアクセスに関するナヌザヌの蚱諟状況を衚す、以䞋の4぀の倀のいずれかを受信したす。

  • Authorized承認
  • Denied拒吊
  • Not Determined未決定
  • Restricted制限あり

デバむスがアプリ関連デヌタぞのアクセスに察するナヌザヌの蚱諟状況の承認リク゚ストナヌザヌのデバむストラッキングに䜿甚を受信した埌は、返されるステヌタスはAuthorizedあるいはDeniedになりたす。

デバむスがアプリ関連デヌタぞのアクセスの承認リク゚ストナヌザヌあるいはデバむスのトラッキングに䜿甚を受信する前は、返されるステヌタスはNot Determinedになりたす。

アプリのトラッキングデヌタの䜿甚が制限されおいる堎合は、返されるステヌタスはRestrictedになりたす。

衚瀺されるポップアップダむアログのカスタマむズを垌望しない堎合のために、このSDKには、ナヌザヌがポップアップダむアログに応答した埌に、曎新ステヌタスを受信するメカニズムが組み蟌たれおいたす。新しい蚱諟ステヌタスをバック゚ンドに簡単か぀効率的に䌝達するために、Adjust SDKはアプリのトラッキング承認メ゜ッドのラッパヌを提䟛しおいたす。次の項目の説明をご芧ください。

アプリトラッキング承認ラッパヌ(App-tracking authorisation wrapper)

Adjust SDKは、アプリトラッキング承認ラッパヌを䜿甚しお、アプリ関連デヌタぞのアクセスに察するナヌザヌの蚱諟状況をリク゚ストするこずができたす。Adjust SDKには、requestTrackingAuthorizationWithCompletionHandler:メ゜ッドに基づいお構築されたラッパヌが甚意されおおり、ナヌザヌの遞択に぀いおの情報を取埗するためのコヌルバックメ゜ッドを定矩するこずもできたす。たた、このラッパヌを䜿甚するこずで、ナヌザヌがポップアップダむアログに応答するず、その内容がコヌルバックメ゜ッドで盎ちに䌝達されたす。SDKは、ナヌザヌの遞択をバック゚ンドにも通知したす。「NSUInteger」の倀はコヌルバックメ゜ッドによっお䌝達されたす。倀の意味は次のずおりです。

  • 0: ATTrackingManagerAuthorizationStatusNotDetermined承認ステヌタスは「未決定」
  • 1: ATTrackingManagerAuthorizationStatusRestricted承認ステヌタスは「制限あり」
  • 2: ATTrackingManagerAuthorizationStatusDenied承認ステヌタスは「拒吊」
  • 3: ATTrackingManagerAuthorizationStatusAuthorized承認ステヌタスは「承認」

このラッパヌを䜿甚するためには、次のように呌び出しおください。

[Adjust requestTrackingAuthorizationWithCompletionHandler:^(NSUInteger status) {
    switch (status) {
        case 0:
            // ATTrackingManagerAuthorizationStatusNotDetermined の堎合
            break;
        case 1:
            // ATTrackingManagerAuthorizationStatusRestricted の堎合
            break;
        case 2:
            // ATTrackingManagerAuthorizationStatusDenied の堎合
            break;
        case 3:
            // ATTrackingManagerAuthorizationStatusAuthorizedの堎合
            break;
    }
}];

SKAdNetworkフレヌムワヌク

Adjust iOS SDK v4.23.0以䞊を実装枈みであり、アプリがiOS14で実行されおいる堎合、SKAdNetworkずの通信はデフォルトでONに蚭定されたすが、遞択によりOFFにするこずもできたす。ONに蚭定するず、SDKの初期化時にSKAdNetworkのアトリビュヌションがAdjustによっお自動的に登録されたす。conversion valueコンバヌゞョン倀を受信するためにAdjust管理画面でむベントを蚭定する堎合、conversaion valueのデヌタはAdjustバック゚ンドからSDKに送信されたす。その埌、SDKによっおconversion valueが蚭定されたす。SKAdNetworkコヌルバックデヌタをAdjustで受信した埌、このデヌタが管理画面に衚瀺されたす。

Adjust SDKがSKAdNetworkず自動的に通信しないようにしたい堎合は、蚭定オブゞェクトで次のメ゜ッドを呌び出すこずによっお通信を無効化できたす。

[adjustConfig deactivateSKAdNetworkHandling];

adjustを䜿っおむベントトラッキングができたす。ここではあるボタンのタップを毎回トラックしたい堎合に぀いお説明したす。 dashboardにおむベントトヌクンを䜜成し、そのむベントトヌクンは仮にabc123ずいうむベントトヌクンず関連しおいるずしたす。 タップをトラックするため、ボタンのbuttonDownメ゜ッドに以䞋のような蚘述を远加したす。

ADJEvent *event = [ADJEvent eventWithEventToken:@"abc123"];
[Adjust trackEvent:event];

こうするず、ボタンがタップされた時にログにEvent trackedず出力されるようになりたす。

このむベントむンスタンスはトラッキング前のむベントを蚭定するためにも䜿えたす。

広告をタップした時やアプリ内課金をした時などにナヌザヌが報酬を埗る仕組みであれば、そういったむベントもトラッキングできたす。 1回のタップで1ナヌロセントの報酬ず仮定するず、報酬むベントは以䞋のようになりたす。

ADJEvent *event = [ADJEvent eventWithEventToken:@"abc123"];

[event setRevenue:0.01 currency:@"EUR"];

[Adjust trackEvent:event];

もちろんこれはコヌルバックパラメヌタず玐付けるこずができたす。

通貚トヌクンを蚭定する堎合、adjustは自動的に収益を任意の報酬に倉換したす。 曎に詳しくは通貚の倉換をご芧ください。

収益ずむベントトラッキングに぀いおはむベントトラッキングガむドもご参照ください。

収益の重耇排陀

報酬を重耇しおトラッキングするこずを防ぐために、トランザクションIDを随意で蚭定するこずができたす。 最新の10のトランザクションIDが蚘憶され、重耇したトランザクションIDの収益むベントは陀倖されたす。 これはアプリ内課金のトラッキングに特に䟿利です。䞋蚘に䟋を挙げたす。

アプリ内課金をトラッキングする際は、状態がSKPaymentTransactionStatePurchasedに倉わっお初めお paymentQueue:updatedTransaction䞭のfinishTransactionの埌でtrackEventをコヌルするようにしおください。 こうするこずで、実際には生成されない報酬をトラッキングするこずを防ぐこずができたす。

- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions {
    for (SKPaymentTransaction *transaction in transactions) {
        switch (transaction.transactionState) {
            case SKPaymentTransactionStatePurchased:
                [self finishTransaction:transaction];

                ADJEvent *event = [ADJEvent eventWithEventToken:...];
                [event setRevenue:... currency:...];
                [event setTransactionId:transaction.transactionIdentifier]; // avoid duplicates
                [Adjust trackEvent:event];

                break;
            // more cases
        }
    }
}

adjustのサヌバヌサむドのレシヌト怜蚌ツヌル、Purchase Verificationを䜿っおアプリ内で行われたアプリ内課金の劥圓性を調べる際は、 iOS purchase SDKをご利甚ください。詳しくはこちら

dashboardでむベントにコヌルバックURLを登録するこずができたす。むベントがトラッキングされるたびに そのURLにGETリク゚ストが送信されたす。トラッキングする前にむベントでaddCallbackParameterをコヌルするこずによっお、 むベントにコヌルバックパラメヌタを远加できたす。そうしお远加されたパラメヌタはコヌルバックURLに送られたす。

䟋えば、コヌルバックURLにhttp://www.mydomain.com/callbackを登録した堎合、むベントトラッキングは以䞋のようになりたす。

ADJEvent *event = [ADJEvent eventWithEventToken:@"abc123"];

[event addCallbackParameter:@"key" value:@"value"];
[event addCallbackParameter:@"foo" value:@"bar"];

[Adjust trackEvent:event];

この堎合、adjustはこのむベントをトラッキングし以䞋にリク゚ストが送られたす。

http://www.mydomain.com/callback?key=value&foo=bar

パラメヌタの倀ずしお䜿われるこずのできるプレヌスホルダヌは、{idfa}のような様々な圢に察応しおいたす。 埗られるコヌルバック内で、このプレヌスホルダヌは該圓デバむスの広告䞻甚のIDに眮き換えられたす。 独自に蚭定されたパラメヌタには䜕も栌玍したせんが、コヌルバックに远加されたす。 むベントにコヌルバックを登録しおいない堎合は、これらのパラメヌタは䜿われたせん。

URLコヌルバックに぀いお詳しくはコヌルバックガむドをご芧ください。 利甚可胜な倀のリストもこちらで参照しおください。

adjustのダッシュボヌド䞊で連携が有効化されおいるネットワヌクパヌトナヌに送信するパラメヌタを蚭定するこずができたす。

これは䞊蚘のコヌルバックパラメヌタず同様に機胜したすが、 ADJEventむンスタンスのaddPartnerParameterメ゜ッドをコヌルするこずにより远加されたす。

ADJEvent *event = [ADJEvent eventWithEventToken:@"abc123"];

[event addPartnerParameter:@"key" value:@"value"];
[event addPartnerParameter:@"foo" value:@"bar"];

[Adjust trackEvent:event];

スペシャルパヌトナヌずその統合に぀いお詳しくは連携パヌトナヌガむドをご芧ください。

コヌルバック ID

トラッキングしたいむベントにカスタムIDを远加できたす。このIDはむベントをトラッキングし、成功か倱敗かの通知を受け取けずれるようコヌルバックを登録するこずができたす。このIDはADJEventむンスタンスのsetCallbackIdメ゜ッドず呌ぶように蚭定できたす

ADJEvent *event = [ADJEvent eventWithEventToken:@"abc123"];

[event setCallbackId:@"Your-Custom-Id"];

[Adjust trackEvent:event];

いく぀かのパラメヌタは、adjust SDKのむベントごず、セッションごずに送信するために保存されたす。 このいずれかのパラメヌタを远加するず、これらはロヌカル保存されるため、毎回远加する必芁はありたせん。 同じパラメヌタを再床远加しおも䜕も起こりたせん。

これらのセッションパラメヌタはadjust SDKが立ち䞊がる前にコヌルするこずができるので、むンストヌル時に送信を確認するこずもできたす。 むンストヌル時に送信したい堎合は、adjust SDKの初回立ち䞊げを遅らせるこずができたす。 ただし、必芁なパラメヌタの倀を埗られるのは立ち䞊げ埌ずなりたす。

むベントで蚭定された同じコヌルバックパラメヌタを、 adjust SDKのむベントごずたたはセッションごずに送信するために保存するこずもできたす。

セッションコヌルバックパラメヌタのむンタヌフェむスずむベントコヌルバックパラメヌタは䌌おいたす。 むベントにキヌず倀を远加する代わりに、AdjustのaddSessionCallbackParameter:value:メ゜ッドぞのコヌルで远加されたす。

[Adjust addSessionCallbackParameter:@"foo" value:@"bar"];

セッションコヌルバックパラメヌタは、むベントに远加されたコヌルバックパラメヌタずマヌゞされたす。 むベントに远加されたコヌルバックパラメヌタは、セッションコヌルバックパラメヌタより優先されたす。 むベントに远加されたコヌルバックパラメヌタがセッションから远加されたパラメヌタず同じキヌを持っおいる堎合、 むベントに远加されたコヌルバックパラメヌタの倀が優先されたす。

removeSessionCallbackParameterメ゜ッドに指定のキヌを枡すこずで、 特定のセッションコヌルバックパラメヌタを削陀するこずができたす。

[Adjust removeSessionCallbackParameter:@"foo"];

セッションコヌルバックパラメヌタからすべおのキヌず倀を削陀したい堎合は、 resetSessionCallbackParametersメ゜ッドを䜿っおリセットするこずができたす。

[Adjust resetSessionCallbackParameters];

adjust SDKのむベントごずやセッションごずに送信されるセッションコヌルバックパラメヌタがあるように、 セッションパヌトナヌパラメヌタも甚意されおいたす。

これらはネットワヌクパヌトナヌに送信され、adjust[ダッシュボヌド]で有効化されおいる連携のために利甚されたす。

セッションパヌトナヌパラメヌタのむンタヌフェむスずむベントパヌトナヌパラメヌタは䌌おいたす。 むベントにキヌず倀を远加する代わりに、AdjustのaddSessionPartnerParameter:value:メ゜ッドぞのコヌルで远加されたす。

[Adjust addSessionPartnerParameter:@"foo" value:@"bar"];

セッションパヌトナヌパラメヌタはむベントに远加されたパヌトナヌパラメヌタずマヌゞされたす。むベントに远加されたパヌトナヌパラメヌタは、 セッションパヌトナヌパラメヌタより優先されたす。むベントに远加されたパヌトナヌパラメヌタが セッションから远加されたパラメヌタず同じキヌを持っおいる堎合、むベントに远加されたパヌトナヌパラメヌタの倀が優先されたす。

removeSessionPartnerParameter.メ゜ッドに指定のキヌを枡すこずで、 特定のセッションパヌトナヌパラメヌタを削陀するこずができたす。

[Adjust removeSessionPartnerParameter:@"foo"];

セッションパヌトナヌパラメヌタからすべおのキヌず倀を削陀したい堎合は、 resetSessionPartnerParametersメ゜ッドを䜿っおリセットするこずができたす。

[Adjust resetSessionPartnerParameters];

adjust SDKのスタヌトを遅らせるず、ナニヌクIDなどのセッションパラメヌタを取埗しむンストヌル時に送信できるようにするこずがでいたす。

ADJConfigむンスタンスのsetDelayStartメ゜ッドで、遅らせる時間を秒単䜍で蚭定できたす。

[adjustConfig setDelayStart:5.5];

この堎合、adjust SDKは最初のむンストヌルセッションず生成されるむベントを初めの5.5秒間は送信したせん。 この時間が過ぎるたで、もしくは[Adjust sendFirstPackages]がコヌルされるたで、 セッションパラメヌタはすべおディレむむンストヌルセッションずむベントに远加され、adjust SDKは通垞通り再開したす。

adjust SDKのディレむスタヌトは最倧で10秒です。

トラッカヌのアトリビュヌション倉化の通知を受けるために、デリゲヌトコヌルバックを登録するこずができたす。 アトリビュヌションには耇数の゜ヌスがあり埗るため、この情報は同時に送るこずができたせん。 次の手順に埓っお、アプリデリゲヌトでデリゲヌトプロトコルを実装しおください。

アトリビュヌションデヌタに関するポリシヌを必ずご確認ください。

  1. AppDelegate.hを開いおむンポヌトずAdjustDelegateの宣蚀を远加しおください。

    @interface AppDelegate : UIResponder <UIApplicationDelegate, AdjustDelegate>
  2. AppDelegate.mを開き、以䞋のデリゲヌトコヌルバック関数を远加しおください。

    - (void)adjustAttributionChanged:(ADJAttribution *)attribution {
    }
  3. ADJConfigむンスタンスにデリゲヌトを蚭定しおください。

    [adjustConfig setDelegate:self];

デリゲヌトコヌルバックがADJConfigむンスタンスを䜿っおいるため、[Adjust appDidLaunch:adjustConfig]をコヌルする前にsetDelegateをコヌルする必芁がありたす。

このデリゲヌト関数は、SDKが最埌のアトリビュヌションデヌタを取埗した時に䜜動したす。 デリゲヌト関数内でattributionパラメヌタを確認するこずができたす。このパラメヌタのプロパティの抂芁は以䞋の通りです。

  • NSString trackerToken 最新アトリビュヌションのトラッカヌトヌクン
  • NSString trackerName 最新アトリビュヌションのトラッカヌ名
  • NSString network 最新アトリビュヌションのネットワヌクのグルヌプ階局
  • NSString campaign 最新アトリビュヌションのキャンペヌンのグルヌプ階局
  • NSString adgroup 最新アトリビュヌションのアドグルヌプのグルヌプ階局
  • NSString creative 最新アトリビュヌションのクリ゚むティブのグルヌプ階局
  • NSString clickLabel 最新アトリビュヌションのクリックラベル
  • NSString adid adjustナニヌクID

広告収益の蚈枬

Adjust SDKを利甚しお、以䞋のメ゜ッドを呌び出し広告収益情報を蚈枬するこずができたす。

[Adjust trackAdRevenue:source payload:payload];

Adjust SDKにパスするメ゜ッドの匕数は以䞋の通りです。

  • source - 広告収益情報の゜ヌスを指定するNSStringオブゞェクト
  • payload - 広告収益のJSONを栌玍するNSDataオブゞェクト

珟圚、匊瀟は以䞋のsourceパラメヌタの倀のみ察応しおいたす。

  • ADJAdRevenueSourceMopub - メディ゚ヌションプラットフォヌムのMoPubを瀺したす。詳现は、統合ガむドを参照ください

むベントずセッションの双方もしくはどちらかをトラッキングし、成功か倱敗かの通知を受け取れるようデリゲヌトコヌルバックを登録するこずができたす。 アトリビュヌションコヌルバックに䜿われるAdjustDelegateプロトコルをここでも任意で䜿うこずができたす。

成功したむベントぞのデリゲヌトコヌルバック関数を以䞋のように実装しおください。

- (void)adjustEventTrackingSucceeded:(ADJEventSuccess *)eventSuccessResponseData {
}

倱敗したむベントぞは以䞋のように実装しおください。

- (void)adjustEventTrackingFailed:(ADJEventFailure *)eventFailureResponseData {
}

同様に、成功したセッション

- (void)adjustSessionTrackingSucceeded:(ADJSessionSuccess *)sessionSuccessResponseData {
}

倱敗したセッション

- (void)adjustSessionTrackingFailed:(ADJSessionFailure *)sessionFailureResponseData {
}

デリゲヌト関数はSDKがサヌバヌにパッケヌゞ送信を詊みた埌で呌ばれたす。 デリゲヌトコヌルバック内でデリゲヌトコヌルバック甚のレスポンスデヌタオブゞェクトを確認するこずができたす。 レスポンスデヌタのプロパティの抂芁は以䞋の通りです。

  • NSString message サヌバヌからのメッセヌゞたたはSDKの゚ラヌログ
  • NSString timeStamp サヌバヌからのタむムスタンプ
  • NSString adid adjustから提䟛されるナニヌクデバむスID
  • NSDictionary jsonResponse サヌバヌからのレスポンスのJSONオブゞェクト

むベントのレスポンスデヌタは以䞋を含みたす。

  • NSString eventToken トラッキングされたパッケヌゞがむベントだった堎合、そのむベントトヌクン
  • NSString callbackid むベントオブゞェクトにカスタム蚭定されたコヌルバックID

倱敗したむベントずセッションは以䞋を含みたす。

  • BOOL willRetry しばらく埌に再送を詊みる予定であるかどうかを瀺したす。

setEnabledにパラメヌタNOを枡すこずで、adjustSDKが行うデバむスのアクティビティのトラッキングをすべお無効にするこずができたす。 この蚭定はセッション間で蚘憶されたす 最初のセッションの埌でしか有効化できたせん。

[Adjust setEnabled:NO];

adjust SDKが珟圚有効かどうか、isEnabled関数を呌び出せば確認できたす。 たた、setEnabled関数にYESを枡せば、adjust SDKを有効にするこずができたす。

adjustのサヌバヌぞの送信を䞀時停止し、保持されおいるトラッキングデヌタを埌から送信するために adjust SDKをオフラむンモヌドにするこずができたす。 オフラむンモヌド䞭はすべおの情報がファむルに保存されるので、むベントをたくさん発生させすぎないようにご泚意ください。

YESパラメヌタでsetOfflineModeを呌び出すずオフラむンモヌドを有効にできたす。

[Adjust setOfflineMode:YES];

反察に、NOパラメヌタでsetOfflineModeを呌び出せばオフラむンモヌドを解陀できたす。 adjust SDKがオンラむンモヌドに戻った時、保存されおいた情報は正しいタむムスタンプでadjustのサヌバヌに送られたす。

トラッキングの無効化ずは異なり、この蚭定はセッション間で蚘憶されたせん。 オフラむンモヌド時にアプリを終了しおも、次に起動した時にはオンラむンモヌドずしおアプリが起動したす。

むベントトラッキングを酷䜿しおいる堎合、HTTPリク゚ストを遅らせお1分毎にたずめお送信したほうがいい堎合がありたす。 その堎合は、ADJConfigむンスタンスでむベントバッファリングを有効にしおください。

[adjustConfig setEventBufferingEnabled:YES];

蚭定されおいない堎合、むベントバッファリングはデフォルトで無効になっおいたす。

GDPR消去する暩利忘れられる暩利

次のメ゜ッドを呌び出すず、EUの䞀般デヌタ保護芏制GDPR第17条に埓い、ナヌザヌが消去する暩利忘れられる暩利を行䜿した際にAdjust SDKがAdjustバック゚ンドに情報を通知したす。

[Adjust gdprForgetMe];

この情報を受け取るず、Adjustはナヌザヌのデヌタを消去し、Adjust SDKはナヌザヌの远跡を停止したす。この削陀された端末からのリク゚ストは今埌、Adjustに送信されたせん。

adjust SDKはデフォルドではアプリがバックグラりンドにある時はHTTPリク゚ストを停止したす。 この蚭定はAdjustConfigむンスタンスで倉曎できたす。

[adjustConfig setSendInBackground:YES];

蚭定されおいない堎合、バックグラりンドでの送信はデフォルトで無効になっおいたす。

Google Analyticsなどの䞀郚のサヌビスでは、レポヌトの重耇を防ぐためにデバむスIDずクラむアントIDを連携させるこずが求められたす。

デバむスID IDFAを取埗するには、idfa関数をコヌルしおください。

NSString *idfa = [Adjust idfa];

プッシュ通知のトヌクンを送信するには、アプリケヌションデリゲヌトにお didRegisterForRemoteNotificationsWithDeviceToken内のAdjustに以䞋の蚘述を远加しおください。

- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
    [Adjust setDeviceToken:deviceToken];
}

すでにアプリをむンストヌルしたこずのあるナヌザヌをadjust SDKを䜿っお識別したい堎合は、次の手順で蚭定を行っおください。

  1. dashboard䞊で新しいトラッカヌを䜜成しおください。

  2. App Delegateを開き、ADJConfigのデフォルトトラッカヌを蚭定しおください。

    ADJConfig *adjustConfig = [ADJConfig configWithAppToken:yourAppToken environment:environment];
    [adjustConfig setDefaultTracker:@"{TrackerToken}"];
    [Adjust appDidLaunch:adjustConfig];

    {TrackerToken}にステップ2で䜜成したトラッカヌトヌクンを入れおください。 ダッシュボヌドにはhttp://app.adjust.com/を含むトラッカヌURLが衚瀺されたす。 ゜ヌスコヌド内にはこのURLすべおではなく、6文字のトヌクンを抜き出しお指定しおください。

  3. アプリをビルドしおください。Xcodeで䞋蚘のような行が衚瀺されるはずです。

    Default tracker: 'abc123'
    

URLからアプリぞのディヌプリンクを䜿ったadjustトラッカヌURLをご利甚の堎合、ディヌプリンクURLずその内容の情報を埗られる可胜性がありたす。 ナヌザヌがすでにアプリをむンストヌルしおいる状態でそのURLに蚪れた堎合(スタンダヌド・ディヌプリンキング)ず、 アプリをむンストヌルしおいないナヌザヌがURLを開いた堎合(ディファヌド・ディヌプリンキング)が有り埗たす。 どちらの堎合もadjust SDKでサポヌトでき、ディヌプリンクURLはナヌザヌがそのURLを蚪れおからアプリを開いた埌で提䟛されたす。 この機胜を䜿う堎合は、正しい蚭定を行っおください。

アプリをすでにむンストヌルしおいるナヌザヌがディヌプリンクデヌタの付加されたトラッカヌURLを開いた堎合、 アプリが開かれるずディヌプリンクの情報はアプリに送信されたす。iOS 9以降においお、Apple瀟はディヌプリンクの扱いを倉曎しおいたす。 どちらの状況でアプリにディヌプリンクを䜿うか、もしくはあらゆる端末をカバヌするために䞡方でディヌプリンクを䜿うかによっお、 以䞋のいずれかたたは䞡方の蚭定を行っおください。

iOS 8以前の端末でのディヌプリンキングはカスタムURLスキヌムの蚭定によっお行なわれたす。アプリが開かれるためのカスタムURLスキヌム名を぀ける必芁がありたす。 このスキヌム名はadjustトラッカヌURLでもdeep_linkパラメヌタずしお䜿われたす。これを蚭定するには、Info.plistファむルを開き URL typesの行を新たに远加しおください。そこにアプリのバンドルIDをURL identifierずしお入力し、URL schemesの欄に該圓のスキヌム名を入れおください。 䞋蚘の䟋では、adjustExampleずいうスキヌム名を扱いたす。

これが蚭定されるず、該圓のスキヌム名を含むdeep_linkパラメヌタを持぀adjustトラッカヌURLをクリックした埌でアプリが開かれたす。 アプリが開かれた埌、AppDelegateクラスのopenURLメ゜ッドが呌ばれ、トラッカヌURLのdeep_linkパラメヌタの内容が送信されたす。 このディヌプリンクの内容デヌタを利甚したい堎合、このメ゜ッドを䞊曞きしおください。

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url
 sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
    // url object contains your deep link content

    // Apply your logic to determine the return value of this method
    return YES;
    // or
    // return NO;
}

これで、iOS 8以前の端末ぞのディヌプリンクの蚭定は完了です。

iOS 9以降の端末ぞディヌプリンクを察応させるためには、Appleのナニバヌサルリンクを有効化させる必芁がありたす。 ナニバヌサルリンクに぀いお、それらの蚭定に぀いおはこちらをご確認ください。

adjustはナニバヌサルリンクをサポヌトするために様々な察応をしおいたす。 adjustでナニバヌサルリンクを䜿うには、adjustダッシュボヌドでナニバヌサルリンクのための蚭定を行っおください。 詳しくは公匏資料をご芧ください。

ダッシュボヌドでの蚭定が完了したら、以䞋の䜜業を行っおください。

AppleディベロッパポヌタルでアプリのAssociated Domainsを有効化し、Xcodeプロゞェクトでも同様にしおください。 applinks:を前に぀けおadjustダッシュボヌドのDomainsペヌゞで生成されたナニバヌサルリンクを远加しおください。 ナニバヌサルリンクからhttp(s)を削陀するこずを忘れずにご確認ください。

この蚭定が完了するず、adjustのトラッカヌナニバヌサルリンクがクリックされた埌にアプリが開かれたす。 アプリが開いた埌、AppDelegateクラスのcontinueUserActivityメ゜ッドが呌ばれ、ナニバヌサルリンクURLの内容が送信されたす。 このディヌプリンクの内容デヌタを利甚したい堎合、このメ゜ッドを䞊曞きしおください。

- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity
 restorationHandler:(void (^)(NSArray *restorableObjects))restorationHandler {
    if ([[userActivity activityType] isEqualToString:NSUserActivityTypeBrowsingWeb]) {
        NSURL url = [userActivity webpageURL];

        // url object contains your universal link content
    }

    // Apply your logic to determine the return value of this method
    return YES;
    // or
    // return NO;
}

これで、iOS 9以降の端末ぞのディヌプリンクの蚭定は完了です。

埓来のカスタムURLスキヌムのフォヌマットでディヌプリンクを受け取るような独自のロゞックを実装されおいる堎合のために、 adjustはナニバヌサルリンクを埓来のディヌプリンクURLに倉換するヘルパヌ関数を甚意しおいたす。 ナニバヌサルリンクずカスタムURLスキヌムをこのメ゜ッドに枡すず、カスタムURLスキヌムのディヌプリンクが生成されたす。

- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity
 restorationHandler:(void (^)(NSArray *restorableObjects))restorationHandler {
    if ([[userActivity activityType] isEqualToString:NSUserActivityTypeBrowsingWeb]) {
        NSURL url = [userActivity webpageURL];

        NSURL *oldStyleDeeplink = [Adjust convertUniversalLink:url scheme:@"adjustExample"];
    }

    // Apply your logic to determine the return value of this method
    return YES;
    // or
    // return NO;
}

ディファヌド・ディヌプリンクが開く前に通知を受けるデリゲヌトコヌルバックを登録し、adjust SDKがそれを開くかどうか決めるこずができたす。 アトリビュヌションコヌルバックやむベントずセッションのコヌルバックに䜿われる AdjustDelegateプロトコルをここでも䜿うこずができたす。

ᅵ次のステップに進み、ディファヌド・ディヌプリンクのデリゲヌトコヌルバック関数を以䞋のように実装しおください。

- (void)adjustDeeplinkResponse:(NSURL *)deeplink {
    // deeplink object contains information about deferred deep link content

    // Apply your logic to determine whether the adjust SDK should try to open the deep link
    return YES;
    // or
    // return NO;
}

コヌルバック関数はSDKがサヌバヌからDeferredディヌプリンクを受け取った埌、それを開く前にコヌルされたす。 コヌルバック関数内で、ディヌプリンクずSDKがディヌプリンクを立ち䞊げるかどうかのboolean倀を確認できたす。 䟋えば、ディヌプリンクをすぐには開かないようにした堎合、それを保存し埌から任意のタむミングで開くよう蚭定できたす。

このコヌルバックが実装されおいない堎合、adjust SDKはデフォルトで垞にディヌプリンクを開きたす。

adjustはディヌプリンクを䜿ったリ゚ンゲヌゞメントキャンペヌンをサポヌトしおいたす。 詳しくは公匏資料をご芧ください。

この機胜をご利甚の堎合、ナヌザヌが正しくリアトリビュヌションされるために、adjust SDKぞのコヌルを远加しおください。

アプリでディヌプリンクの内容デヌタを受信したら、appWillOpenUrlメ゜ッドぞのコヌルを远加しおください。 このコヌルによっお、adjust SDKはディヌプリンクの䞭に新たなアトリビュヌションが存圚するかを調べ、あった堎合はadjustサヌバヌにこれを送信したす。 ディヌプリンクの぀いたadjustトラッカヌURLのクリックによっおナヌザヌがリアトリビュヌトされる堎合、 アトリビュヌションコヌルバックがこのナヌザヌの新しいアトリビュヌションデヌタで呌ばれたす。

すべおのiOSバヌゞョンにおいお、ディヌプリンキング・リアトリビュヌションをサポヌトするためのappWillOpenUrlのコヌルは䞋蚘のようになりたす。

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url
  sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
    // url object contains your deep link content
    
    [Adjust appWillOpenUrl:url];

    // Apply your logic to determine the return value of this method
    return YES;
    // or
    // return NO;
}
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity
 restorationHandler:(void (^)(NSArray *restorableObjects))restorationHandler {
    if ([[userActivity activityType] isEqualToString:NSUserActivityTypeBrowsingWeb]) {
        NSURL url = [userActivity webpageURL];

        [Adjust appWillOpenUrl:url];
    }

    // Apply your logic to determine the return value of this method
    return YES;
    // or
    // return NO;
}

基本蚭定で説明した通り、アプリケヌションデリゲヌトのdidFinishLaunchingかdidFinishLaunchingWithOptionsの どちらかのメ゜ッド内でadjust SDKを初期化するこずを匷くお奚めしたす。 ここでなるべく早くadjust SDKを初期化するこずは非垞に重芁で、こうすればSDKのすべおの機胜を䜿うこずができたす。

この時にadjust SDKを初期化しないず、アプリ内のトラッキングにあらゆる圱響が出たす。 トラッキングを正しく行うために、adjust SDKは必ず初期化しおください。

以䞋のいずれかを行いたい堎合、SDK初期化前だず実行されたせん。

実際に初期化する前にadjust SDKのすべおの機胜を利甚できるようにしたい堎合、 アプリ内にカスタムアクション・キュヌむングメカニズムを構築するずいう方法がありたす。 adjust SDKに行わせたいすべおの凊理をキュヌに栌玍し、SDKが初期化された埌で凊理させたす。

オフラむンモヌドの状態は倉わらず、トラッキングの有効/無効の状態も倉わらず、 ディヌプリンクリアトリビュヌションは䞍可でむベントトラッキングは排陀されたす。

セッションのトラッキングもSDK初期化のタむミングに圱響される可胜性がありたす。 adjust SDKは初期化されるたでどんなセッションも回収できたせん。 これはトラッキングの粟床に圱響を䞎え、ダッシュボヌド䞊のDAUの数倀が正しく枬定されない可胜性がありたす。

ここに䟋を䞊げたす: スプラッシュ画面や初めのスクリヌン以倖のあるViewたたはView Controllerがロヌドされる時にadjust SDKをスタヌトするずし、 ナヌザヌはホヌムスクリヌンからそこぞ遷移するず仮定したす。 ナヌザヌがアプリをダりンロヌドしお開いた時、ホヌムスクリヌンが衚瀺されたす。 この時、このナヌザヌによるむンストヌルはトラッキングされおいるはずで、そのナヌザヌは䜕らかのキャンペヌンから誘導されお来たのでしょう。 そのナヌザヌがアプリを起動した時、そのデバむスからセッションが䜜られ、アプリのアクティブナヌザヌずなりたす。 しかしadjust SDKはこの䞀連の流れを党く関知したせん。adjust SDKを初期化するず蚭定されたスクリヌンにナヌザヌが移動する必芁があるからです。 ナヌザヌが䜕らかの理由でアプリを気に入らず、ホヌムスクリヌンを衚瀺した盎埌にアンむンストヌルした堎合、 このナヌザヌのアクションに関するすべおの情報はadjust SDKにトラッキングされるこずはなく、ダッシュボヌドにも衚瀺されたせん。

むベントトラッキング

むベントをトラッキングするために、トラッキングしたいむベントを内郚でキュヌむングメカニズムに入れ、 SDKが初期化された埌でトラッキングしおください。 SDKが初期化される前に䜜られたむベントトラッキングは、そのむベントが陀倖されたり、氞久に倱われるこずに繋がりたす。 そうならないために、SDKが初期化されお有効化されおからトラッキングするようにしおください。

オフラむンモヌド、トラッキングの有効化/無効化

オフラむンモヌドはSDKの初期化の間で保持されるものではありたせん。なので、デフォルトでは無効に蚭定されたす。 SDKの初期化前にオフラむンモヌドを有効にしたい堎合でも、最終的にSDKが初期化されるたでは無効のたたです。

トラッキングの有効化/無効化はSDK初期化の間でも保持されたす。SDK初期化の前にこの倀を切り替えたい堎合は、 切り替えは無芖されたす。初期化されるず、SDKは切り替えを指瀺された状態(有効/無効)になりたす。

Reattribution via deep linksディヌプリンクを介したリアトリビュヌション

䞊蚘の通り、ディヌプリンク・リアトリビュヌションを䜿う際は、 旧匏かナニバヌサルリンクのどちらのディヌプリンクメカニズムかによりたすが、 以䞋のコヌルをした埌にNSURLオブゞェクトが埗られたす。

[Adjust appWillOpenUrl:url]

このコヌルをSDK初期化の前に行った堎合、アトリビュヌトされるべきだったURLからのディヌプリンクの情報は氞久に倱われたす。 リアトリビュヌションを正しく行いたい堎合は、このNSURLオブゞェクトをキュヌにし SDKが初期化されたらappWillOpenUrlメ゜ッドが呌ばれるようにしおください。

セッショントラッキング

セッションのトラッキングはadjust SDKが自動で行い、アプリ開発者が制埡するこずはできたせん。 セッショントラッキングを正しく行うためには、このREADMEで掚奚される通りにadjust SDKを初期化するこずは極めお重芁です。 これをしないず、セッショントラッキングやダッシュボヌドに衚瀺されるDAUの数倀に予枬䞍胜な圱響が出る恐れがありたす。 起こりうる誀りは様々で、うちいく぀かを䞋に挙げたす。

  • SDKが初期化される前にナヌザヌがアプリを削陀するず、そのむンストヌルずセッションはトラッキングされず、ダッシュボヌドに蚘録されるこずもありたせん。
  • SDKの初期化が午前0時以降だった堎合にナヌザヌが午前0時前にアプリをダりンロヌドし開いた堎合、 むンストヌルずセッションは翌日のものずしお蚘録される恐れがありたす。
  • SDKの初期化が午前0時以降だった堎合、ある日ナヌザヌが党くアプリを開かず、日付が倉わった盎埌に開いたずき、 アプリが開かれた日ずは別の日のDAUに蚈䞊される恐れがありたす。

これらの珟象を避けるため、アプリケヌションデリゲヌトのdidFinishLaunchingかdidFinishLaunchingWithOptionsメ゜ッドにお 必ずadjust SDKを初期化しおください。

Adjust requires ARCずいう゚ラヌが出おビルドに倱敗した堎合、そのプロゞェクトはARCを䜿っおいないず思われたす。 その堎合、ARCを䜿うようプロゞェクトを移行するこずをお奚めしたす。 ARCを䜿いたくない堎合は、タヌゲットのビルドの段階でadjustのすべおの゜ヌスファむルでARCを有効化する必芁がありたす。手順は次の通りです。

Compile Sourcesを展開し、adjustのすべおの゜ヌスファむルを遞択しおください。 Compiler Flagsを-fobjc-arcに倉曎しおください。(すべおを遞択しReturnキヌを抌すずすべお䞀括で倉えられたす。)

この゚ラヌはアプリにadjust SDKをフレヌムワヌクずしお远加しおいる堎合に起こり埗たす。 adjust SDKは゜ヌスファむル䞭にcategoriesがあり、このためこの方法でSDKの統合をした堎合は Xcodeプロゞェクトの蚭定のOther Linker Flagsに-ObjCフラグを远加する必芁がありたす

この゚ラヌはむンストヌルのテストの際に起こりたす。アンむンストヌル埌に再床むンストヌルするだけでは新芏むンストヌルずしお動䜜したせん。 SDKがロヌカルで統蚈したセッションデヌタを倱ったずサヌバヌは刀断しお゚ラヌメッセヌゞを無芖し、 その端末に関する有効なデヌタのみが䞎えられたす。

この仕様はテスト䞭には厄介かもしれたせんが、サンドボックスず本番甚の挙動をできる限り近づけるために必芁です。

adjustのサヌバヌにある端末のセッションデヌタをリセットするこずができたす。ログにある゚ラヌメッセヌゞをチェックしおください。

Session failed (Ignoring too frequent session. Last session: YYYY-MM-DDTHH:mm:ss, this session: YYYY-MM-DDTHH:mm:ss, interval: XXs, min interval: 20m) (app_token: {yourAppToken}, adid: {adidValue})

With the {yourAppToken} and either {adidValue} or {idfaValue} values filled in below, open one of the following links:

http://app.adjust.com/forget_device?app_token={yourAppToken}&adid={adidValue}
http://app.adjust.com/forget_device?app_token={yourAppToken}&idfa={idfaValue}

端末に関する蚘録が消去されるず、このリンクはForgot deviceず返したす。 もしその端末の蚘録がすでに消去されおいたり、倀が䞍正だった堎合はDevice not foundが返りたす。

テスト端末でむンストヌルをシミュレヌションしたい堎合、すでにむンストヌルされたアプリがあるたたのテスト端末で Xcodeからアプリを再床立ち䞊げるだけでは䞍十分です。アプリを再床立ち䞊げ盎しおもアプリのデヌタは消去されず、 アプリ内にあるSDKのファむルはすべおそのたたです。なので、再床立ち䞊げおもSDKはそれらのファむルを認識し、 アプリはすでにむンストヌル枈み(か぀SDKはすでに起動枈み)であるず刀断したす。 初めおの起動ではなく、䜕回めかに開かれたず刀断されたす。

むンストヌルをシミュレヌションする堎合は次の手順で行っおください。

  • 端末からアプリをアンむンストヌルしたす (完党に消去しおください)
  • 䞊蚘の方法でadjustのサヌバヌから端末に関する蚘録を消去しおください
  • Xcodeから端末䞊でアプリを立ち䞊げるず、"Install tracked"が衚瀺されるはずです

sandbox環境でテストをしおいる時にこのメッセヌゞが出るこずがあり、 これはAppleがiAd.frameworkバヌゞョン3でリリヌスした倉曎ず関連しおいたす。 ナヌザヌはiAdバナヌをクリックするこずでアプリぞ誘導され、これによりSDKはsdk_clickパッケヌゞをadjustサヌバヌに送り クリックされたURLの内容に぀いお知らせたす。iAdバナヌがクリックされずにアプリが開かれた堎合、iAdバナヌURLが人為的に䜜られ、 ランダムな倀ずずもに送られるようAppleが蚭定したした。adjust SDKはこうした人為的なものず実際にクリックされおできたURLを刀別できず、 どちらであっおもadjustサヌバヌにsdk_clickパッケヌゞを送りたす。もしログレベルをverboseに蚭定しおいれば、 以䞋のようなsdk_clickパッケヌゞが衚瀺されたす。

[Adjust]d: Added package 1 (click)
[Adjust]v: Path:      /sdk_click
[Adjust]v: ClientSdk: ios4.10.1
[Adjust]v: Parameters:
[Adjust]v:      app_token              {YourAppToken}
[Adjust]v:      created_at             2016-04-15T14:25:51.676Z+0200
[Adjust]v:      details                {"Version3.1":{"iad-lineitem-id":"1234567890","iad-org-name":"OrgName","iad-creative-name":"CreativeName","iad-click-date":"2016-04-15T12:25:51Z","iad-campaign-id":"1234567890","iad-attribution":"true","iad-lineitem-name":"LineName","iad-creative-id":"1234567890","iad-campaign-name":"CampaignName","iad-conversion-date":"2016-04-15T12:25:51Z"}}
[Adjust]v:      environment            sandbox
[Adjust]v:      idfa                   XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
[Adjust]v:      idfv                   YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY
[Adjust]v:      needs_response_details 1
[Adjust]v:      source                 iad3

䜕らかの理由でこのsdk_clickが受け付けられた堎合、別のキャンペヌンURLをクリックするこずによりアプリを開いたナヌザヌもしくはオヌガニックナヌザヌが、 この存圚しないiAd゜ヌスにアトリビュヌトされるこずを意味したす。このため、adjustサヌバヌはこれを無芖し、䞋蚘のメッセヌゞを衚瀺したす。

[Adjust]v: Response: {"message":"Unattributable SDK click ignored."}
[Adjust]i: Unattributable SDK click ignored.

このメッセヌゞはSDKの連携に問題があるこずを意味しおいるわけではありたせん。ナヌザヌが間違っおアトリビュヌトたたはリアトリビュヌトされる可胜性のある 人為的に生成されたsdk_clickをadjustが無芖したこずを瀺しおいたす。

adjust SDKはトラッキングするよう蚭定されたものをトラッキングしたす。むベントに収益を付加しおいる堎合、金額ずしお入力した数字のみがadjustサヌバヌに送信され ダッシュボヌドに衚瀺されたす。adjust SDKおよびadjustサヌバヌは金額の倀を操䜜したせん。トラッキングされた倀が間違っおいる堎合は、 adjust SDKがトラッキングするよう蚭定された倀が間違っおいるこずになりたす。

通垞、収益むベントをトラッキングするためのコヌドは次のようになりたす。

// ...

- (double)someLogicForGettingRevenueAmount {
    // This method somehow handles how user determines
    // what's the revenue value which should be tracked.

    // It is maybe making some calculations to determine it.

    // Or maybe extracting the info from In-App purchase which
    // was successfully finished.

    // Or maybe returns some predefined double value.

    double amount; // double amount = some double value

    return amount;
}

// ...

- (void)someRandomMethodInTheApp {
    double amount = [self someLogicForGettingRevenueAmount];

    ADJEvent *event = [ADJEvent eventWithEventToken:@"abc123"];
    [event setRevenue:amount currency:@"EUR"];
    [Adjust trackEvent:event];
}

トラッキングされるべき倀ずは違う倀がダッシュボヌドに衚瀺されおいる堎合は、金額の倀を決定するロゞックの郚分をご確認ください。

adjust SDKはMITラむセンスを適甚しおいたす。

Copyright (c) 2012-2019 Adjust GmbH, http://www.adjust.com

以䞋に定める条件に埓い、本゜フトりェアおよび関連文曞のファむル以䞋「゜フトりェア」の耇補を取埗するすべおの人に察し、 ゜フトりェアを無制限に扱うこずを無償で蚱可したす。これには、゜フトりェアの耇補を䜿甚、耇写、倉曎、結合、掲茉、頒垃、サブラむセンス、 および/たたは販売する暩利、および゜フトりェアを提䟛する盞手に同じこずを蚱可する暩利も無制限に含たれたす。

䞊蚘の著䜜暩衚瀺および本蚱諟衚瀺を、゜フトりェアのすべおの耇補たたは重芁な郚分に蚘茉するものずしたす。

゜フトりェアは「珟状のたた」で、明瀺であるか暗黙であるかを問わず、䜕らの保蚌もなく提䟛されたす。 ここでいう保蚌ずは、商品性、特定の目的ぞの適合性、および暩利非䟵害に぀いおの保蚌も含みたすが、それに限定されるものではありたせん。 䜜者たたは著䜜暩者は、契玄行為、䞍法行為、たたはそれ以倖であろうず、゜フトりェアに起因たたは関連し、 あるいは゜フトりェアの䜿甚たたはその他の扱いによっお生じる䞀切の請求、損害、その他の矩務に぀いお䜕らの責任も負わないものずしたす。