Android Beacon Ad SDK Tutorial
Download Android Beacon SDK
Version |
Package |
Size |
Notes |
|---|---|---|---|
1.0.0 |
TWMBeaconSDK_1.0.0 |
1475 KB |
|
1.0.1 |
TWMBeaconSDK_1.0.1 |
124 KB |
|
1.0.3 |
187 KB |
|
Getting Started
- 簡介
-
TAMedia BeaconSDK提供Android App開發者簡易迅速的方式整合行動廣告,使用iBeacon進行定位資訊,提供以位置為基礎的主動廣告發送。
廣告的種類包含對話式廣告、全版Interstitial、以及通知列(Notification)等各種廣告類型,開發及整合上使用容易,僅需幾行程式碼即可輕鬆使用。
- 系統需求
- OS : Android 5.0以上 (API 21+)
- 硬體需求 : 藍芽4.0
- 重要,請確保使用API21以上compile您的程式,targetSdkVersion可以小於21,在API21以下的裝置,SDK將不會啟動
- 廣告請求流程
- TWMBeaconSDK將在背景服務執行,使用BluetoothLeScanner進行掃描,當偵測到Beacon時,向後端產生廣告請求,請求完成後在app端呈現,所有的廣告間隔將由後端server控制。
- 開始使用
:*請參考Android Getting Started 2.0將SDK及GooglePlayService整合進您的應用程式中
:*加入必要權限
TWMBeaconSDK所需使用的權限,請宣告於您的manifest檔案。
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
//背景喚醒裝置時使用
<uses-permission android:name="android.permission.WAKE_LOCK"/>
//Android 6.0以上使用藍芽必須加入
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
:*加入必要Activity
-
-
TWMRedirectActivity : 廣告點擊轉導至廣告導頁之Activity
-
TWMRedirectActivity : 廣告點擊轉導至廣告導頁之Activity
<activity android:name="com.taiwanmobile.beaconsdk.internal.TWMRedirectActivity"
android:taskAffinity="com.taiwanmobile.beaconsdk.internal.TWMBeaconActivity"
android:excludeFromRecents="true"/>
-
- TWMBeaconActivity : 呈現廣告主體Activity
<activity android:name="com.taiwanmobile.beaconsdk.internal.TWMBeaconActivity"
android:configChanges="orientation|keyboardHidden|navigation|keyboard|screenLayout|uiMode|screenSize|smallestScreenSize"
android:hardwareAccelerated="true"
android:launchMode="singleTop"
android:taskAffinity="com.taiwanmobile.beaconsdk.internal.TWMBeaconActivity"
android:excludeFromRecents="true"
android:theme="@android:style/Theme.Translucent"/>
:*加入Service
-
- TWMBeaconService : 掃描Beacon背景服務 。
<service android:name="com.taiwanmobile.beaconsdk.service.TWMBeaconService" />
Documentation
- 廣告請求
- 請在您程式開始的Activity加入下列程式碼,以啟動TWMBeaconSDK。啟動成功後SDK會在背景偵測附近是否有Beacon存在,並且依據Beacon的相關資訊進行廣告請求,您不需再做任何額外設定。
//依序傳入activity , 版位ID , TWMBeaconRequest
TWMBeaconSDK.init(MainActivity.this, 您的版位ID, new TWMBeaconRequest.Builder.build());
- TWMBeaconRequest
-
- TWMBeaconRequest為請求設定檔,提供的function及說明如下,請依您的需求進行設定。
setNotificationIcon(int icon)
:*設定掃描模式
-
-
TWMBeaconSDK提供與原生方法相同的三種掃描模式,預設為LowPower模式。若無特殊需求,建議您不需設定此選項。
SCAN_MODE_BALANCED , SCAN_MODE_LOW_LATENCY ,SCAN_MODE_LOW_POWER
-
TWMBeaconSDK提供與原生方法相同的三種掃描模式,預設為LowPower模式。若無特殊需求,建議您不需設定此選項。
setScanMode(ScanMode scanMode)
:*設定測試模式
-
- 測試模式所有的請求將不會被記錄,傳入的testDevice字串請您參考Android_Banner_Ads_I_2.0
addTestDevice(String testDevice)
setTestDevices(Set<String> testDevices)
- 加入TWMBeaconListener監聽廣告投放情況
TWMBeaconSDK.setAdListener(new TWMBeaconListener() {
@Override
public void onReceiveAd() {
// 成功收到廣告時通知
}
@Override
public void onFailedToReceiveAd(TWMBeaconRequest.ErrorCode errorCode) {
// 當請求廣告失敗時通知
}
@Override
public void onPresentScreen() {
// 廣告呈現在頁面時通知
}
@Override
public void onDismissScreen() {
// 關閉廣告時通知
}
@Override
public void onFailedStart (String errorMessage) {
// 無法成功開啟服務時通知
}
});
- 完整範例請參考下列
:*Activity
package com.taiwanmobile.beacontest;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import com.taiwanmobile.beaconsdk.settings.BluetoothDialogSettings;
import com.taiwanmobile.beaconsdk.internal.TWMBeaconRequest;
import com.taiwanmobile.beaconsdk.internal.TWMBeaconListener;
import com.taiwanmobile.beaconsdk.internal.TWMBeaconSDK;
import com.taiwanmobile.beaconsdk.service.TWMBeaconService;
public class MainActivity extends AppCompatActivity {
TWMBeaconRequest request;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//設定TWMBeaconRequest
request = new TWMBeaconRequest.Builder()
//設定通知列icon
.setNotificationIcon(YOUR_ICON)
.build();
//啟動TWMBeaconSDK
TWMBeaconSDK.init(MainActivity.this, "您的版位ID", request);
TWMBeaconSDK.setAdListener(new TWMBeaconListener() {
@Override
public void onReceiveAd() {
}
@Override
public void onFailedToReceiveAd(TWMBeaconRequest.ErrorCode errorCode) {
}
@Override
public void onFailedStart(String errorMessage) {
}
@Override
public void onPresentScreen() {
}
@Override
public void onDismissScreen() {
}
});
}
}
:*Manifest
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.taiwanmobile.beacontest">
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<application
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.taiwanmobile.beaconsdk.internal.TWMRedirectActivity"
android:taskAffinity="com.taiwanmobile.beaconsdk.internal.TWMBeaconActivity"
android:excludeFromRecents="true"/>
<activity
android:name="com.taiwanmobile.beaconsdk.internal.TWMBeaconActivity"
android:configChanges="orientation|keyboardHidden|navigation|keyboard|screenLayout|uiMode|screenSize|smallestScreenSize"
android:hardwareAccelerated="true"
android:launchMode="singleTop"
android:taskAffinity="com.taiwanmobile.beaconsdk.internal.TWMBeaconActivity"
android:excludeFromRecents="true"
android:theme="@android:style/Theme.Translucent"/>
<service android:name="com.taiwanmobile.beaconsdk.service.TWMBeaconService" />
</application>
</manifest>
- 畫面展示
插頁全版廣告 |
插頁彈跳文字廣告 |
插頁彈跳圖文廣告 |
Proguard Configuration
-
如果您的APP本身需要經過proguard混淆,請增加下面的設定
#Tamedia BeaconSDK
-keep class com.taiwanmobile.beaconsdk.** { *; }
-dontwarn com.taiwanmobile.beaconsdk.**