这穿山甲不得了,竟然可以变现!一文学会

本公众号由以下老铁赞助,感谢他们❗️

b386667bcf379469b46f16117bc6955a.png336390c3fecd7021277e74e50c13aa0c.png

9a0447f8127a17464a175e3455af4d6f.png2a3565b327d67816dd583ec62a02f076.png


Cocos 游戏如何接入安卓穿山甲广告实现变现?

通常来说,游戏变现的的方式有IAP(应用内购)和IAA(广告变现)。我们熟知的是游戏应用内购需要版号,是比较困难的,相对来说,广告变现就比较容易实现,小游戏的首选。

关于广告变现,通常可以接入各平台的提供的功能来进行, 例如各大小游戏平台的流量主功能。在安卓渠道我们可以通过接入穿山甲联盟广告优量汇广告或者海外的AdMob广告联盟等来进行变现。

言归正传,本文重点介绍一下Cocos游戏如何接入安卓穿山甲广告,如果对您有帮助,建议点赞分享收藏!

本文源工程可在文末获取,小伙伴们自行前往。

总览

为了更好地演示效果,笔者用之前小游戏的资源简单搭了一个Demo小程序,简单但又不失优雅

d68fdf2de448d1c50e071a65291b115d.gif

其中相关配置可视化调整,配置即用。

35923d14d85faa72f7bc946baf260cf3.png

资源结构清晰易懂,独立成模块。组件简单易用。

abdd548536b131af62b5597987fc4c6c.png


版本支持Cocos Creator3.8.3Cocos Creator2.4.13,涵盖2.x3.x

a5d16a991bd0aded5dac49d3a9810250.png


Java接入SDK部分也是比较清晰完整。

d1a2fbf0c0af6d3448e0d68d75b5d70b.png


穿山甲广告接入实例

接下来,跟随笔者一起看看如何准确高效地接入安卓穿山甲广告。

前提一:游戏能够顺利地打包成APK,关于如何顺利打包成APK可以阅读笔者往期文章《Cocos打安卓包打不出来?看看这个》进行了解。

前提二:游戏在Cocos能够顺利地与Android通信,关于Cocos如何跟Android原生通信,可以阅读笔者往期文章《Cocos如何跟Android通信?》进行了解。

假如以上前提遇到问题无法解决,可以联系笔者一起探讨,解决你的燃眉之急。

1.资源准备

首先我们简单地编辑一下UI,添加4个按钮,分别响应常用的4个广告类型的广告。

daf5bc29f8f232cbb4df0f4314a93e0a.png


然后构建一下安卓工程。

1dc59cf761a5827dee5cbe4e39f0286e.png


构建完成后找到我们导出的安卓工程。

b835c825fa6729baf2d691c8b36c16b9.png


然后AS(Android Studio)打开项目并且等待加载完成。

9a2804e70ef16e9bc5a225fb30e79dc6.png


通过菜单栏Run->Run'TTSdkComponent3_X'或者Build->Build Bundle(s) /APK(s)->Build APK(s)先运行/生成APK,确保工程没问题能够顺利打APK

bffa52335c785c8c08fb84ff8f111e3a.png


2.SDK的获取

进到穿山甲广告后台,打开接入中心->GroMore->接入与测试,选择Android版本。

4b9a9f68bf8c5584a0568529e1c0821c.png


点击下方生成接入代码,即可获取到SDKDemo和接入指引和相关文档。

d6f779f786ff3cd88bbc71f369da2988.png


最后流量变现->GroMore->应用管理中创建应用以及我们所需要广告类型的广告位即可。

e973e980f2938f43636f310149d858a6.png


3.SDK的集成

关于SDK的集成,我们可以通过刚刚下载的Demo里面找到相应的SDK文件,将它拷贝到libs下即可。

185f5ebdf3c5e04fb51a2024b68ef1ec.png


当然也可以通过maven方式引入SDK。首先在工程的build.gradle文件中添加下载地址。

2b5b93f90759346a2804c70a71d003b8.png


地址如下

allprojects {
    repositories {
        maven {
            url "https://artifact.bytedance.com/repository/pangle"
        }
        google()
        jcenter()
    }
}

然后在模块的build.gradle文件中添加依赖。

a293d41c1bcce35f4b1b3c73c712381f.png


依赖如下:

implementation "com.pangle.cn:mediation-sdk:6.2.1.7"
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation "com.alibaba:fastjson:1.2.83"

然后在清单文件AndroidManifest.xml中添加所需要的权限和provider

f66645b7ce500cfee315fbb58163ab67.png


权限如下

<!-- 所需权限 -->
  <uses-permission android:name="android.permission.INTERNET" />
  <uses-permission android:name="android.permission.ACCESS_NETWORK_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.REQUEST_INSTALL_PACKAGES" />
  <uses-permission android:name="android.permission.READ_PHONE_STATE" />

provider如下

<!-- 穿山甲 start================== -->
<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>
<provider
    android:name="com.bytedance.sdk.openadsdk.multipro.TTMultiProvider"
    android:authorities="${applicationId}.TTMultiProvider"
    android:exported="false" />
<!-- 穿山甲 end================== -->

上述provider依赖的配置我们添加到目录res/xml

69409a1697205503af1a921e67779f1f.png


xml文件详细内容如下:

<?xml version="1.0" encoding="utf-8"?>
<paths>
    <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>

4.SDK接入

SDK集成后,我们就可以通过写代码通过API去接入各种类型的广告了,下面以Banner广告为例,相关代码在官方的Demo中都有,笔者做了简化。

1.初始化

首先我们需要先进行初始化,通过TTAdSdk.initTTAdSdk.start进行初始化,其中关键的参数是我们在后台申请到的buildConfig中的appId

62f26acc00428a59d58414d9339dc997.png


2.创建TTAdNative对象

通过TTAdSdk.getAdManager().createAdNative创建一个TTAdNative对象,其中所需的参数是Activity,我们可以传Cocos的主Activity

5de041cfac6ae32b8b84e0a21a3547c0.png


3.创建广告请求AdSlot

通过new AdSlot.Builder()创建广告位,其中关键的参数是我们后台申请到的广告位ID

此外我们可以通过setImageAcceptedSize设置Banner广告的尺寸大小。

17a03cb2597e40f63d9a866bd82ef5e2.png


4.加载广告

广告位创建完成之后,我们就可以进行广告的加载,通过adNativeLoader.loadBannerExpressAd进行Banner广告的加载,然后通过onNativeExpressAdLoad加载完成回调,加载完成后可以对广告进行显示。

c0dce4b28d631ad4771b1dd36e889dc3.png


5.显示广告

广告显示之前,我们可以监听一下广告的加载、渲染进度和情况,以及可以监听一下用户点击不喜欢关闭广告的情况进行处理。

然后通过mBannerAd.getExpressAdView()获取到Banner广告的视图,并且通过mBannerContainer.addView(bannerView);添加到我们的主窗体容器中去,此外还可以通过setXsetY修改我们Banner广告的位置。

bdd198204057f6a1e2d07c71714ec61a.png


6.关闭广告

关闭广告我们只需要通过mBannerAd.destroy()对广告进行销毁。

5、抛出接口

当我们广告接入完成后,需要提供到接口给Cocos进行调用。

CocosAndroid通信,我们还是通过JsbBridge.setCallback方法进行监听。

我们通过参数arg0作为协议号,arg1Json的形式作为具体参数,方便解析。

如下图

showToast方法需要参数content
init方法需要参数appId
showBannerAd需要参数codeId、left、top、width、height

ac05de601066fd6c66260b3758df3648.png


注意,如果是2.x版本的话,因为没有JsbBridge我们需要提供一个静态接口给到Cocos*调用。

e923678c885f8b20b3636efeb4e29281.png


6.调用接口

接口准备好之后,我们就可以回到Cocos进行调用了。

其中关键是通过native.bridge.sendToNative(arg0, arg1);调用Java的方法,通过native.bridge.onNative监听Java的回调。

07fe25806af8120fa883c36e86dfd843.png


上述参数我们直接可以通过编辑器进行编辑,非常的方便。

d8306b8f6a9bbcc95b1867e3ee37e1b1.png


注意,如果是2.x版本的话,因为没有JsbBridge我们需要通过方法jsb.reflection.callStaticMethod反射的形式调用Java*提供的静态接口。

22f33e45c634ddc09c41b0872465c81d.png


注意,Cocos2.x提供给Java调用的类,需要通过window*属性赋值。

de394e10544e9c0015d16d3c299b3fd6.png


7.效果演示

5d6cfe40c800c834c311094bf9a5ba0b.gif

结语

以上亿元分享的Cocos游戏如何接入安卓穿山甲广告的全部内容,该源码已经上架 Cocos Store,感谢支持!

bcd2ce02cb311e9917f319cf575f9715.png

下载地址:

  • https://store.cocos.com/app/detail/6576

亿元更多作品:

  • https://store.cocos.com/app/search?name=%E4%BA%BF%E5%85%83%E7%A8%8B%E5%BA%8F%E5%91%98


  特别鸣谢  

2065fd72681d41bdfe67b163ebc6d0f6.png6755627e1feda60e18a7371bbb938898.png

5d28c4b83388c7ea93bf857a24d71b13.png0c27d9e56ff3ac1b01c206967d10ebbe.png

游戏开发,副业变现

晓衡的愿景是助力 1000 位个人开发者

一年独立挣钱10W+

b2cf2422a70968ac3aed482c5f32560c.jpeg

欢迎加晓衡微信

34d59ed3cbb69b6109948dc073e829a0.gif

5fcfd01751c2c02f41698abffcdd66be.gif

IAA小游戏同质化有点严重!背包like成为流量密码?

无需版号可上线测试?广东省已率先开始!

一群看穿市场的开发者们!7月精品推荐

从入门到爆款?16套视频教程助你起飞(免费)

用这个看微信小游戏排行榜,真是太方便了!

6月微信小游戏排名TOP!用户喜欢什么样的游戏?

2024小游戏出海!11家门户渠道要记住了

吃透这2个指标!真正读懂微信「畅玩榜」

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值