最近一段时间一直在转做海外项目,由于国内应用市场不再接收休闲小游戏之类应用,并且如果走游戏分类需要游戏版号,微信小程序虽然政策要求没有这么严,但只能接微信一家广告平台,广告资源有限,除非创意类游戏上微信扶持计划,普通小游戏创业者基本没活路了,在这样的背景一下,我们开始了海外创业之旅。
因为团队技术就2个人,一个后台,一个前端,不会原生,只会web开发,原先我们小游戏在微信上运营过一段时间,也买量了一个月,出于ecpm起伏不定等原因,我们不再坚持这个路,但运营过程也优化了整个游戏。所以这次出海,并没有我们想象中的简单快速,那我就把我们整个工作流写下来,给大家参考一下:
一,登入
1、游客登入 (轻应用,广告类应用基本可以选此项)
2、第三方登入(apple,google,facebook),需要在应用市场后台说明对数据使用安全等问题
二、盈利
1、广告
2、内购
由于我们做的是小游戏,所以可玩性不高,选择了广告这种方式。
三、接入广告平台
我们接的平台有,admob,unity,applovin,vungle
四、广告联盟的配置
这部分工作对于技术人员来既费时又费脑。但却是最重要,稍有不慎就掉坑了。
这部分包括也了解各个广告平台的广告资源,优缺点等,市场地区国家人群,缺一不可。
切记不要匆忙上去推,海外市场很大,大到你头皮发麻。
重点针对才有机会胜出。
五、绑定结算帐户
找一家第三方并且广告平台也支持结算的第三方收款平台。这种平台有很多,可以在网上搜到。
一、二、三都是需要技术解决的。四需要找对有经验的带。五可以自己处理。
好了,因为我们有一些经验了,所以如果你也正在出海的路,需要技术支持,可以在下面留言。
目前我们有applovin聚合sdk,苹果和安卓2端,也有admob,unity,vungle,pangle单独sdk插件给uniapp使用。
repositories {google()mavenCentral()⋮
}
dependencies {implementation 'com.applovin:applovin-sdk:+'⋮
}
public class ExampleActivity extends Activityimplements MaxRewardedAdListener
{private MaxRewardedAd rewardedAd;private int retryAttempt;void createRewardedAd(){rewardedAd = MaxRewardedAd.getInstance( "YOUR_AD_UNIT_ID", this );rewardedAd.setListener( this );rewardedAd.loadAd();}// MAX Ad Listener@Overridepublic void onAdLoaded(final MaxAd maxAd){// Rewarded ad is ready to be shown. rewardedAd.isReady() will now return 'true'// Reset retry attemptretryAttempt = 0;}@Overridepublic void onAdLoadFailed(final String adUnitId, final MaxError error){// Rewarded ad failed to load // We recommend retrying with exponentially higher delays up to a maximum delay (in this case 64 seconds)retryAttempt++;long delayMillis = TimeUnit.SECONDS.toMillis( (long) Math.pow( 2, Math.min( 6, retryAttempt ) ) );new Handler().postDelayed( new Runnable(){@Overridepublic void run(){rewardedAd.loadAd();}}, delayMillis );}@Overridepublic void onAdDisplayFailed(final MaxAd maxAd, final MaxError error){// Rewarded ad failed to display. We recommend loading the next adrewardedAd.loadAd();}@Overridepublic void onAdDisplayed(final MaxAd maxAd) {}@Overridepublic void onAdClicked(final MaxAd maxAd) {}@Overridepublic void onAdHidden(final MaxAd maxAd){// rewarded ad is hidden. Pre-load the next adrewardedAd.loadAd();}@Overridepublic void onRewardedVideoStarted(final MaxAd maxAd) {} // deprecated@Overridepublic void onRewardedVideoCompleted(final MaxAd maxAd) {} // deprecated@Overridepublic void onUserRewarded(final MaxAd maxAd, final MaxReward maxReward){// Rewarded ad was displayed and user should receive the reward}
}