AFP Android SDK集成指南

1. 简介:


2. 建立广告位,获取广告位ID

3. SDK的集成

3.1 SDK 目录结构

注:除基础核心包必须集成外,其余只需按需集成,需要类库 'android-support-v4.jar'

3.2 导入SDK 所需的文件

  1. alimm_core目录中libs子目录下jar包复制到本地工程libs子目录下。
  2. alimm_core目录中 assets/mu/文件夹中的apk文件添加到本地工程的 assets/mu/下。
  3. 将欲集成样式相对应的目录中assets/mu/文件夹中的apk文件添加到本地工程的 assets/mu/下,例如:只集成banner样式,则只需将alimm_banner中的apk文件添加到本地工程的 assets/mu/
  4. 若使用了聚合广告平台,则需要将相应的聚合平台依赖包添加到本地工程libs目录下,例如:使用了百度平台,需要将alimm_dependency目录中libs子目录下Baidu_MobAds_SDK_v4.4.jar复制到本地工程libs子目录下。(对照表

注:不能修改apk文件的名字

3.3 添加渠道 (可选:用户按渠道进行推广)

AndroidManifest.xml文件的<application>中添加

3.3.1 添加渠道123 (可选:用户按渠道进行推广)
3.3.2 添加渠道1234 (可选:用户按渠道进行推广)
<meta-data android:value="xxxxxxxx" android:name="MUNION_CHANNEL"></meta-data>

3.4 添加访问权限

AndroidManifest.xml文件中添加

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />

注意:这里只列出了必须的权限,若使用聚合广告请根据平台需求添加,请从Demo中的AndroidManifest.xml文件中查找对应平台需要的权限。

3.5 添加服务

AndroidManifest.xml文件中添加:

 <service android:name="com.alimama.mobile.sdk.shell.DownloadingService"
     android:process=":alimamaDownload">
            <intent-filter>
                <action android:name="com.alimama.mobile.sdk.download.action" />
            </intent-filter>
 </service>

3.5 添加应用详情页

AndroidManifest.xml文件中添加:

 <activity
       android:name="com.alimama.mobile.sdk.shell.MMUDetail"
       android:configChanges="keyboard|orientation"
       android:launchMode="standard"
       android:screenOrientation="portrait" />
 <activity
       android:name="com.alimama.mobile.sdk.shell.MMUBrowserWebView"
       android:configChanges="keyboard|orientation"
       android:launchMode="standard"
       android:screenOrientation="portrait" >
 </activity>

注意:这里只列出了必须要声明的Activity,若使用聚合广告请根据平台需求添加,请从Demo中的AndroidManifest.xml文件中查找对应平台需要的声明。

3.6 初始化SDK

注意:初始化SDK必须在集成样式的页面之前,如果在首页集成样式,请重写Application,并在Application中进行初始化。

 MMUSDKFactory.getMMUSDK().init(getApplication());
 MMUSDKFactory.registerAcvitity(BannerActivity.class);//注册集成样式页的Activity

注意:所有集成广告的Activity页面都需要注册。

4. 选择推广样式

下面列出了SDK所支持的所有样式。

4.1 横幅(banner)

步骤1:确定已添加插件apk(如:Banner_plugin-1.0.apk)到项目工程的 assets/mu/目录下

步骤2:确定已添加聚合广告平台依赖包到本地工程的libs子目录下(该步骤非必须,只有用到聚合广告平台才需添加)

步骤3:在需要添加样式的布局文件中加入一个ViewGroup来给样式定位

步骤4:添加广告代码,添加广告代码前请确定已初始化SDK

PS:更多设置请参考Demo中集成代码,com.alimama.mobile.demo.BannerActivity

4.2 全/插屏

步骤1:确认已添加插件apk(如:InsertPlugin-1.0.apk)到项目工程的 assets/mu/目录下

步骤2:确定已添加聚合广告平台依赖包到本地工程的libs子目录下(该步骤非必须,只有用到聚合广告平台才需添加)

步骤3:添加广告代码,添加广告代码前请确定已初始化SDK

PS:更多设置请参考Demo中集成代码,com.alimama.mobile.demo.InsertActivity

4.3 信息流

步骤1:确认已添加插件apk(如:FeedPlugin-1.0.apk)到项目工程的 assets/mu/目录下

步骤2:确定已添加聚合广告平台依赖包到本地工程的libs子目录下(该步骤非必须,只有用到聚合广告平台才需添加)

步骤3:开发者需要创建一个或多个广告位,每个广告位对应一个feed

步骤4:添加广告代码,添加广告代码前请确定已初始化SDK

4.3.1 SDK方式集成

PS:更多设置请参考Demo中集成代码,com.alimama.mobile.demo.MMUFeedViewActivity

4.3.2 SDK-数据方式集成
Key Value 版本说明
MMUAdInfoKey.TITLE 标题
MMUAdInfoKey.SUBTITLE 副标题
MMUAdInfoKey.PRICE 价格
MMUAdInfoKey.PROMOPRICE 折扣价
MMUAdInfoKey.SELL 销量
MMUAdInfoKey.IMG_SIZE 图片大小
MMUAdInfoKey.LINK 点击地址,当地址为空或空字符串时不需要处理
MMUAdInfoKey.CLICKTYPE 点击类型
MMUAdInfoKey.RATING 星级
MMUAdInfoKey.IMAGE_URL 图片地址
MMUAdInfoKey.ICON_URL Icon地址
MMUAdInfoKey.RATION_NAME 平台名称
MMUAdInfoKey.MODEL_TYPE 模版类型
MMUAdInfoKey.VIDEO_URL 视频地址 1.1.0 及以上
MMUAdInfoKey.AUTO_PLAY 播放控制,1:手动播放、2:自动播放、3:仅WIFI自动播放 1.1.0 及以上
MMUAdInfoKey.VIDEO_TIME 视频播放时长 1.1.0 及以上

PS:更多设置请参考Demo中集成代码,com.alimama.mobile.demo.MMUFeedDataActivity

4.6 开屏

步骤1:确认已添加插件apk(如:WelcomePlugin-1.0.apk)到项目工程的 assets/mu/目录下

步骤2:确定已添加聚合广告平台依赖包到本地工程的libs子目录下(该步骤非必须,只有用到聚合广告平台才需添加)

步骤3:添加广告代码,添加广告代码前请确定已初始化SDK

4.6.1 SDK方式集成
4.6.2 SDK-数据接口方式集成

PS:更多设置请参考Demo中集成代码,com.alimama.mobile.demo.WelcomeDataActivity

4.7 焦点图

步骤1:确认已添加插件apk(如:LoopImagePlugin-1.0.apk)到项目工程的 assets/mu/目录下

步骤2:在需要添加样式的布局文件中加入一个ViewGroup来给样式定位

步骤3:添加广告代码,添加广告代码前请确定已初始化SDK

4.7.1 SDK方式集成

PS:更多设置请参考Demo中集成代码,com.alimama.mobile.demo.LoopImageActivity

4.7.2 SDK-数据接口方式集成

PS:更多设置请参考Demo中集成代码,com.alimama.mobile.demo.LoopImageDataActivity

5.自定义广告平台

5.1 简介

5.2 新建自定义平台

5.3 配置平台信息

5.4 Adapter代码实现说明

/**
 * 提供给开发者调用的 通知AFPSDK广告被点击
 */
public void notifyMMUAdClicked() ;

/**
 * 提供给开发者调用的 通知AFPSDK广告被关闭
 */
public void notifyMMUAdCloseed();

/**
 * 提供给开发者调用的 通知AFPSDK广告请求展示失败
 */
public void notifyMMUAdRequestAdFail() ;

/**
 * 提供给开发者调用的 通知AFPSDK广告展示成功
 */
public void notifyMMUAdShowSuccess() ;

```
参考Demo,`com.alimama.mobile.demo.custom.BaiduWelcomeAdapter`

5.5 添加Adapter到AFP

自定义广告平台Adapter实现完成后,在初始化广告样式时通过以下方式添加Adapter,
示例:
    properties.addCustomAdapter(id, adapter);
    id: 在后台新建自定义平台后获取的平台id
    adapter: 媒体实现的自定义平台adapter

参考Demo,com.alimama.mobile.demo.BannerActivity

6. 备注

6.1 媒体自定义标签

媒体自定义标签可以通过广告样式的properties.setTag(tag)的方式来添加。

其中 tag 格式为 属性:标签,标签,.... 多组属性使用分号隔开

6.2 权限说明

权限 用途
android.permission.INTERNET 允许应用程序联网,以便向我们的服务器端发送数据。
android.permission.ACCESS_NETWORK_STATE 获取用户手机的IMEI,用来唯一的标识用户。(如果您的应用会运行在无法读取IMEI的平板上,我们会将mac地址作为用户的唯一标识,请添加权限: android.permission.ACCESS_WIFI_STATE )
android.permission.READ_PHONE_STATE 检测网络状态
android.permission.WRITE_EXTERNAL_STORAGE 将更新的APK临时存在SD卡里。

6.3 广告平台依赖包对应表


广告平台 依赖包
阿里妈妈 -
百度 Baidu_MobAds_SDK_v5.6.jar
广点通 GDTUnionSDK.4.8.517.min.jar
android-support-v4.jar
AdMob google-play-services-v8.4.87.jar
Inmobi InMobi-5.2.1.jar
亿动智道 SmartMad-SDK-Android_v3.0.4.jar
安沃 Adwo_Android_SDK6.2.jar
assets/libadwo60.png
armeabi/libAdwoLocker.so
armeabi/libImmHapticMedia.so
arm64-v8a/libAdwoLocker.so
arm64-v8a/libImmHapticMedia.so
armeabi-v7a/libAdwoLocker.so
armeabi-v7a/libImmHapticMedia.so
多盟 domob_v4.6.4.jar.jar
注意:-代表不需要添加依赖包

6.4 混淆

-dontwarn android.taobao.**
-dontwarn com.taobao.**
-dontwarn com.alimama.mobile.**
-dontwarn  android.app.**
-dontwarn android.support.v4.**

-keepattributes Signature
-keepattributes *Annotation*

-keep class com.taobao.** {*; }
-keep class com.alimama.**{*; }
-keep class com.alimama.mobile.**{*; }
-keep class android.taobao.** {*; }
-keep class android.support.v4.** { *; }
-keep class android.app.**{*;}
-keep class **.R$* {*;}

7. 技术支持

请发邮件至afpsupport@list.alibaba-inc.com,我们会尽快回复您。