Android接入穿山甲SDK并实现开屏广告 接入

Android接入穿山甲SDK并实现开屏广告 接入

接入穿山甲SDK的时候出现一些问题,这里记录一下接入的过程,方便以后使用、查阅。

导入aar及SDK依赖的jar包

提前申请好应用的CodeId(应用ID和广告位ID),将官网下载demo压缩包内的open_ad_sdk.aar 复制到Application Module/libs文件夹(没有的话须手动创建),并将以下代码添加到您app的build.gradle中:


ndk { // 设置支持的 SO 库构架,注意这里要根据你的实际情况来设置 
   abiFilters ‘armeabi-v7a’, ‘arm64-v8a’, ‘x86’, ‘x86_64’, ‘armeabi’ 
}

repositories {
    flatDir {
        dirs 'libs'
    }
}
depedencies {
    api (name: 'open_ad_sdk', ext: 'aar')
}

在 res/xml 目录下,新建一个 xml 文件 file_paths,在该文件中添加如下代码:

<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
   <!--为了适配所有路径可以设置 path = "." -->
   <external-path name="tt_external_root" path="." />
   <external-path name="tt_external_download" path="Download" />
   <external-files-path name="tt_external_files_download" path="Download" />
   <files-path name="tt_internal_file_download" path="Download" />
   <cache-path name="tt_internal_cache_download" path="Download" />
</paths>

AndroidManifest配置 添加权限 、provider配置

适配Anroid7.0及以上 如果您的应用需要在Anroid7.0及以上环境运行,请在AndroidManifest中添加如下代码:

<!--必要权限-->
<uses-permission android:name="android.permission.INTERNET" />

<!--可选权限-->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
<uses-permission android:name="android.permission.GET_TASKS"/>

<!--可选,穿山甲提供“获取地理位置权限”和“不给予地理位置权限,开发者传入地理位置参数”两种方式上报用户位置,两种方式均可不选,添加位置权限或参数将帮助投放定位广告-->
<!--请注意:无论通过何种方式提供给穿山甲用户地理位置,均需向用户声明地理位置权限将应用于穿山甲广告投放,穿山甲不强制获取地理位置信息-->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

<!-- 如果视频广告使用textureView播放,请务必添加,否则黑屏 -->
<uses-permission android:name="android.permission.WAKE_LOCK" />

<!--demo场景用到的权限,不是必须的-->
<uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.EXPAND_STATUS_BAR" />

<!-- 穿山甲3400版本新增:建议添加“query_all_package”权限,穿山甲将通过此权限在Android R系统上判定广告对应的应用是否在用户的app上安装,避免投放错误的广告,以此提高用户的广告体验。若添加此权限,需要在您的用户隐私文档中声明! -->
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"/>

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".OneActivity"
        android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
 
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    
    <!--穿山甲SDK-->
    <provider
        android:name="com.bytedance.sdk.openadsdk.TTFileProvider"
        android:authorities="${applicationId}.TTFileProvider"
        android:exported="false"
        android:grantUriPermissions="true">
        <meta-data
            android:name="android.support.FILE_PROVIDER_PATHS"
            android:resource="@xml/file_paths" />
    </provider>
    <!--穿山甲SDK-->
    <provider
        android:name="com.bytedance.sdk.openadsdk.multipro.TTMultiProvider"
        android:authorities="${applicationId}.TTMultiProvider"
        android:exported="false" />
</application>

拷贝demo中的 

TTAdManagerHolder类、TToast提示类、UIUtils 屏幕适配

Android接入穿山甲SDK并实现开屏广告 接入

然后就是SplashActivity 和 application中初始化穿山甲,设置自己的APPID(应用名称id) 和 代码位ID

 

提示:TTAdManagerHolder中设置自己的APPid,在application中 APPID和SplashActivity 代码位id都填写正确、

 

代码混淆

如果您需要使用proguard混淆代码,需确保不要混淆SDK的代码。 请在proguard.cfg文件(或其他混淆文件)尾部添加如下配置:

-keep class com.bytedance.sdk.openadsdk.** {*;}
-keep public interface com.bytedance.sdk.openadsdk.downloadnew.** {*;}
-keep class com.pgl.sys.ces.* {*;}

 

书到用时方恨少,纸上得来终觉浅!

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/114960.html原文链接:https://javaforall.net

(0)
上一篇 2021年10月2日 上午10:00
下一篇 2021年10月2日 上午11:00


相关推荐

  • Manus怎么用?5分钟快速上手教程

    Manus怎么用?5分钟快速上手教程

    2026年3月15日
    2
  • 【金融市场基础知识】——中国的金融体系(一)[通俗易懂]

    【金融市场基础知识】——中国的金融体系(一)[通俗易懂]阅读之前看这里????:博主是一名正在学习证券知识的学生,在每个领域我们都应当是学生的心态,也不应该拥有身份标签来限制自己学习的范围,所以博客记录的是在学习过程中一些总结,也希望和大家一起进步,在记录之时,未免存在很多疏漏和不全,如有问题,还请私聊博主指正。博客地址:天阑之蓝的博客,学习过程中不免有困难和迷茫,希望大家都能在这学习的过程中肯定自己,超越自己,最终创造自己。目录中国的金融体系(一)一、中国金融市场的历史、现状及影响因素1、新中国成立以来我国金融市场的发展历史★2、我国金融市场的发展现状

    2022年5月27日
    71
  • disp语句怎么格式 matlab_matlab输出语句print

    disp语句怎么格式 matlab_matlab输出语句printmatlab 中怎么输出一个变量的值 MATLAB 输出变量方法很多 主要包括以下几类 1 语句后面不加分号 这是直接输出数值的比较简单的方法 2 disp a 直接在命令窗口显示 a 变量 这种方法输出和第一种差不多 3 fprintf a f a 格式控制输出 输出 a 然后再显示输出的变量 如下图 4 save dir name 变量名 保存输出到某个文件中去 可以将数值保存

    2026年3月16日
    3
  • ORA12154和TNS03505监听错误的解决方法「建议收藏」

    ORA12154和TNS03505监听错误的解决方法「建议收藏」原ORA-12154和TNS-03505监听错误的解决方法https://blog.csdn.net/tianlesoftware/article/details/5716028版权声明:https://blog.csdn.net/tianlesoftware/article/details/5716028之前在一台测试机上装了GridControl,今天在这台机器上添加了一个监听,…

    2022年7月24日
    8
  • c语言s型曲线方程,电机控制 | S曲线加减速

    c语言s型曲线方程,电机控制 | S曲线加减速S 型曲线加减速 1 S 型曲线 1 1 简介 Sigmoid 函数是一个在生物学中常见的 S 型函数 也称为 S 型生长曲线 Sigmoid 函数也叫 Logistic 函数 取值范围为 0 1 它可以将一个实数映射到 0 1 的区间 可以用来做二分类 该 S 型函数有以下优缺点 优点是平滑 而缺点则是计算量大 Sigmoid 函数由下列公式定义 Sigmoid 函数在 8 8 的计算数值以及图形如下 由以上数据与图形可

    2026年3月18日
    2
  • 腾讯字节双雄齐发力,AI智能体产品抢滩OpenClaw赛道!

    腾讯字节双雄齐发力,AI智能体产品抢滩OpenClaw赛道!

    2026年3月12日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号