ANJAM ユーザー ガイド
モバイル向けネイティブ JavaScript API (ANJAM) への広告主は、 MRAID によって提供されていない追加機能にモバイル クリエイティブにアクセスできるようにします。 これには、ディープ リンクを実行する機能が含まれます。
注:
iframe で実行されているモバイル クリエイティブでは、この API と共に MRAID を使用できます。
使用方法
すべての ANJAM 関数は非同期です。 結果を照会する関数は、応答を処理する関数をインストールする必要があります。 コールバック関数は、関数呼び出しの結果を含むプロパティを持つ result オブジェクトで呼び出されます。
注:
また、すべての結果オブジェクトには、呼び出し元の関数の名前 (または GetDeviceID
などDeepLink
) の値を持つプロパティも含まれますresult.caller
。
ヒント
iframe 内から ANJAM/MRAID を使用する:
クリエイティブが ANJAM を使用するには、SDK の iFrame 内から MRAID ("iFrame で配信" がチェックされている場合を含む)、クリエイティブは最初に次の HTML スニペットを追加する必要があります。
<script src="https://acdn.adnxs.com/mobile/anjam/anjam.js"></script>
エクスポートされた関数
このセクションでは、ANJAM によってエクスポートされたすべての関数の一覧を示します。 各関数について説明し、例で使用します。
anjam。MayDeepLink(url, result_callback)
クリエイティブは、この機能を使用して、ディープ リンクしているアプリがデバイスにインストールされているかどうかを判断できます。
-
url
: ネイティブ アプリによって処理されるディープ リンク URL を示す文字列。 たとえば、「"fb://post?1234"
」のように入力します。 ディープ リンクに関するFacebookドキュメントも参照してください。 -
result_callback
-function(result) {}
: ディープ リンクがこのデバイスで処理されるかどうかを示す プロパティ内result.mayDeepLink
の またはfalse
のtrue
値を持つ結果オブジェクトで呼び出されます。
例:
var url = "example://widget?id=123";
ExampleDeepLink = function (url) {
// Test for success.
anjam.MayDeepLink(url, function (result) {
// This will log "Callback for MayDeepLink: true".
console.log("Callback for " + result.caller + ": " + result.mayDeepLink);
if (result.mayDeepLink) {
anjam.DeepLink(url, function (deeplinkresult) {
console.log(deeplinkresult.caller + " call failed.");
});
}
});
}
ExampleDeepLink(url);
anjam。DeepLink(url, err_callback)
クリエイティブは、この関数を使用してディープ リンク URL を呼び出します。通常はイベントへのonClick()
応答として、 からmayDeepLink()
結果をtrue
受け取った後です。
起動が DeepLink()
成功し、広告が展開された場合、広告は閉じられ、コールバックは呼び出されません。
-
url
: ディープ リンク URL を示す文字列。 -
err_callback
:function(result) {}
- 操作がDeeplink()
正常に起動されなかった場合にのみ呼び出されます。 result オブジェクトは、 プロパティにのみ役立ちますresult.caller
。
例については、ドキュメントを参照してください anjam.MayDeepLink()
。
anjam。ExternalBrowser(url)
クリエイティブが SDK 構成をオーバーライドし、デバイスのネイティブ ブラウザー (既定のアプリ内ブラウザーではなく) でランディング ページを強制的に開くことができます。
-
url
: ネイティブ プラットフォーム ブラウザーで開く URL。 呼び出しとDeepLink()
同様ですが、ネイティブ ブラウザーで Web サイトを起動するためのものです。
例:
var url = "http://www.example.com";
ExampleExternalBrowser = function(url) {
anjam.ExternalBrowser(url);
}
ExampleExternalBrowser(url);
anjam。InternalBrowser(url)
URL は通常、アプリ内ブラウザー内で非表示モードで開き、URL がストアにリダイレクトされるかどうかをチェックします。 この呼び出しにより、アプリ内ブラウザーがすぐに表示されるようになります。 URL またはそのリダイレクトの 1 つがアプリ ストアに移動すると、アプリ ストアが開き、アプリ内ブラウザーは通常どおり無視されます。 このメソッドを使用すると、最初の非表示モードをオーバーライドできます。
-
url
: アプリ内ブラウザー内で開く URL。
例:
var url = "http://www.example.com";
ExampleInternalBrowser = function(url) {
anjam.InternalBrowser(url);
}
ExampleInternalBrowser(url);
anjam。RecordEvent(url)
イベントの追跡に使用されます。URL は SDK によってバックグラウンドで読み込まれます。 これは通常、ピクセルの追跡に使用されます。
-
url
: SDK がバックグラウンドで読み込む URL。 URL は URL または'javascript:'
を受け入れます'data'
。
例:
ExampleRecordEvent = function() {
anjam.RecordEvent("http://www.example.com/pixel?id=123");
}
anjam。DispatchAppEvent(event, data)
クリエイティブにカスタム イベントをアプリに送信する機能を提供します。 このイベントを受信するには、アプリでコードを実装する必要があります。
iOS では、アプリケーションは 's didReceiveAppEvent
メソッドを実装AppEventDelegate
します。
Android では、アプリケーションは クラスに を onAppEvent
実装します AppEventListener
。
-
event
: アプリのハンドラーに配信される文字列。 -
data
: アプリのハンドラーに配信される文字列。
例:
var e = 'SomeEvent';
var d = 'TheEventData';
ExampleDispatchAppEvent = function(evt, data) {
anjam.DispatchAppEvent(evt, data);
}
ExampleDispatchAppEvent(e, d);
anjam。GetVersion(callback)
ANJAM API の現在のバージョンを取得するために使用されます。
-
callback
:function(result) {}
- プロパティの現在の API バージョン文字列 ("1.0") で呼び出されますresult.version
。
例:
ExampleGetVersion = function() {
anjam.GetVersion(function (result) {
// This will log "GetVersion returned: 1.0".
console.log(result.caller + " returned: " + result.version);
});
}
ExampleGetVersion();
anjam.GetDeviceID(callback)
Advertising の現在のデバイス ID を取得するために使用されます。
-
callback
:function(result) {}
- プロパティとresult.id
プロパティを使用してresult.idname
呼び出されます。idname
は、渡される ID の型を持つ文字列です。id
は、アドバタイズ ID の文字列値です。 - iOS デバイス
idname
の場合は になります"idfa"
。ID は Apple ID For Advertising です。 - Google Play サービスを使用する Android デバイスの場合、
idname
は"aaid"
id
になり、 は Google Android Advertising ID になります。 - Google Play サービスを使用していない Android デバイスの場合、
idname
は"sha1udid"
id
になり、デバイスの Android ID の SHA1 ハッシュになります。
例:
ExampleGetDeviceID = function() {
anjam.GetDeviceID(function (result) {
// This will log "GetDeviceID: idfa = AEBE52E7-03EE-455A-B3C4-E57283966239".
console.log(result.caller + ": " + result.idname + " = " + result.id);
});
}
ExampleGetDeviceID();
anjam。SetMRAIDRefreshFrequency(ミリ秒)
クリエイティブ開発者がサイズ、位置、および視認性の値を更新するためのカスタム時間間隔を指定する機能を提供します。 さらに、iOS では、 でこの呼び出しをNSTimer
有効にするNSRunLoopCommonModes
必要があります。
-
milliseconds
: 時間間隔を示す整数値 (ミリ秒単位)。
例:
<script src="mraid.js"></script>
<script type="text/javascript">
if (mraid.getState() == 'loading') {
mraid.addEventListener('ready', onSDKReady);
} else {
onSDKReady();
}
function onSDKReady() {
if ((typeof window.anjam.SetMRAIDRefreshFrequency) !== "undefined") {
anjam.SetMRAIDRefreshFrequency(10);
}
setInterval(function() {
p = mraid.getCurrentPosition(), s = mraid.getScreenSize(), d = document.getElementById('pc'), y = (1-(s.height-p.y)/s.height)*300;
d && (d.scrollTop = y);
}, 10);
}
</script>
<style type="text/css">
#pc { position: relative; width: 300px; height: 300px; overflow: hidden; }
</style>
<a href="https://www.reddit.com/r/cats/"><img src="media/600" width="300" height="600"><
/img></a>
anjam。GetCustomKeywords(url)
BannerAdView でカスタム キーワードを設定する機能を提供します。 この機能を使用すると、BannerAdView に設定されているカスタム キーワード (keyword)は、クリエイティブ マクロを使用したり、Webview でランダム JS を実行したりすることなく、ANJAM 経由で HTML クリエイティブでアクセスできます。
-
callback
: function(result) {} - 追加されたカスタム キーワードで応答します。
例:
ExampleGetCustomKeywords = function() {
anjam.GetCustomKeywords(function (result) {
// If you have set custom keywords in BannerAdView like below
//banner.addCustomKeyword(withKey: "foo", value: "bar")
//banner.addCustomKeyword(withKey: "randomkey", value: "randomvalue")
// This will log "GetCustomKeywords foo=bar randomkey=randomvalue".
console.log("GetCustomKeywords" + " foo=" + result.foo + " randomkey=" + result.randomkey);
});
}
ExampleGetCustomKeywords();