== Plugin ==
=== NativeScript Plugin for Google Maps ===
==== インストール ====
}
</pre>
=== NativeScript Plugin for Google Admob ===
[https://admob.google.com/home/ Google Admob] はモバイルアプリむけの広告配信サービス。
狭いスマホの画面で広告は邪魔だが、on/off をコントロールできたら、使える事もある (かも)。
[https://www.nsplugins.com/plugin/nativescript-admob NativeScript AdMob plugin] はこれを実現してくれる。
==== Install ====
<pre>
$ tns plugin add nativescript-admob
</pre>
==== 使い方 ====
NativeScript 4.0 以降は<code>App_Resources/iOS/Info.plist</code> にこれが必要。
<pre>
<key>GADApplicationIdentifier</key>
<string>ca-app-pub-9517346003011652~2508636525</string>
</pre>
さらに、次のコマンドを叩いておく。
<pre>
$ pod repo update
</pre>
Banner広告の出し方。
トップレベルのコンポーネント (app.component.ts) か、Injectable なサービスに以下のコードを追加
<pre>
import * as Admob from "nativescript-admob";
import { isIOS } from "tns-core-modules/platform";
...
private testing: boolean = true;
private iosBannerId = "ca-app-pub-xxxxxxxxxxxxxxxx/xxxxxxxxxx";
private androidBannerId = "ca-app-pub-xxxxxxxxxxxxxxxx/xxxxxxxxxx";
public createBanner() {
Admob.createBanner({
testing: this.testing,
size: Admob.AD_SIZE.SMART_BANNER,
iosBannerId: this.iosBannerId,
androidBannerId: this.androidBannerId,
iosTestDeviceIds: ["4DC032A6-954E-4AE7-885F-8F32C14C5FAA"],
margins: {
// top: 50
bottom: 80
}
}).then(function() {
console.log("admob createBanner done");
}, function(error) {
console.log("admob createBanner error: " + error);
});
}
public hideBanner() {
Admob.hideBanner().then(function() {
console.log("admob hideBanner done");
}, function(error) {
console.log("admob hideBanner error: " + error);
});
}
</pre>
この createBanner() を呼び出すと広告が表示され、hideBanner() を呼び出すと消える。
<code>bottom:</code> が広告が表示される位置になる。<code>top:</code> と上からの座標を書く事もできる。
<pre>
public createInterstitial() {
admob.createInterstitial({
testing: true,
iosInterstitialId: "ca-app-pub-XXXXXX/YYYYY2", // add your own
androidInterstitialId: "ca-app-pub-AAAAAAAA/BBBBBB2", // add your own
// Android automatically adds the connected device as test device with testing:true, iOS does not
iosTestDeviceIds: ["ce97330130c9047ce0d4430d37d713b2"],
keywords: ["keyword1", "keyword2"], // add keywords for ad targeting
onAdClosed: function () { console.log("interstitial closed") }
}).then(
function() {
console.log("admob createInterstitial done");
},
function(error) {
console.log("admob createInterstitial error: " + error);
}
);
}
</pre>
これを呼び出すと interstitial (区切りの良いところで表示される全面広告) が表示される。
== 参考文献 ==