差分

提供: fukudat.net
ナビゲーションに移動検索に移動
3,069 バイト追加 、 2020年5月31日 (日) 18:38
== 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 (区切りの良いところで表示される全面広告) が表示される。
== 参考文献 ==

案内メニュー