Skip to content

Commit

Permalink
Merge pull request #35 from defold/Issue-32-set-request-agent
Browse files Browse the repository at this point in the history
Set extension version as user agent
  • Loading branch information
britzl committed Jul 31, 2023
2 parents ffcebf9 + a7cc8e5 commit a33d8a5
Show file tree
Hide file tree
Showing 5 changed files with 31 additions and 15 deletions.
4 changes: 3 additions & 1 deletion extension-admob/src/admob.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,12 @@

namespace dmAdmob {

static const char DEFOLD_USERAGENT[] = "defold-3.2.0";

static int Lua_Initialize(lua_State* L)
{
DM_LUA_STACK_CHECK(L, 0);
Initialize();
Initialize(DEFOLD_USERAGENT);
return 0;
}

Expand Down
6 changes: 3 additions & 3 deletions extension-admob/src/admob_android.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ static void CallVoidMethodBool(jobject instance, jmethodID method, bool cbool)

static void InitJNIMethods(JNIEnv* env, jclass cls)
{
g_admob.m_Initialize = env->GetMethodID(cls, "initialize", "()V");
g_admob.m_Initialize = env->GetMethodID(cls, "initialize", "(Ljava/lang/String;)V");
g_admob.m_LoadInterstitial = env->GetMethodID(cls, "loadInterstitial", "(Ljava/lang/String;)V");
g_admob.m_ShowInterstitial = env->GetMethodID(cls, "showInterstitial", "()V");
g_admob.m_LoadRewarded = env->GetMethodID(cls, "loadRewarded", "(Ljava/lang/String;)V");
Expand Down Expand Up @@ -128,9 +128,9 @@ void Initialize_Ext()
g_admob.m_AdmobJNI = env->NewGlobalRef(env->NewObject(cls, jni_constructor, threadAttacher.GetActivity()->clazz));
}

void Initialize()
void Initialize(const char* defoldUserAgent)
{
CallVoidMethod(g_admob.m_AdmobJNI, g_admob.m_Initialize);
CallVoidMethodChar(g_admob.m_AdmobJNI, g_admob.m_Initialize, defoldUserAgent);
}

void LoadInterstitial(const char* unitId)
Expand Down
19 changes: 13 additions & 6 deletions extension-admob/src/admob_ios.mm
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ @interface AdmobExtBannerAdDelegate : NSObject<GADBannerViewDelegate>

namespace dmAdmob {

static const char* m_DefoldUserAgent = nil;

static UIViewController *uiViewController = nil;

void SendSimpleMessage(MessageId msg, id obj) {
Expand Down Expand Up @@ -82,13 +84,20 @@ void SendSimpleMessage(MessageId msg, MessageEvent event, NSString *key_2, int v
SendSimpleMessage(msg, dict);
}

void Initialize() {
void Initialize(const char* defoldUserAgent) {
m_DefoldUserAgent = defoldUserAgent;
[[GADMobileAds sharedInstance]
startWithCompletionHandler:^(GADInitializationStatus *_Nonnull status) {
SendSimpleMessage(MSG_INITIALIZATION, EVENT_COMPLETE);
}];
}

GADRequest* createGADRequest() {
GADRequest *request = [GADRequest request];
request.requestAgent = [NSString stringWithUTF8String: m_DefoldUserAgent];
return request;
}

//--------------------------------------------------
// Interstitial ADS

Expand All @@ -109,10 +118,9 @@ void SetInterstitialAd(GADInterstitialAd *newAd) {
}

void LoadInterstitial(const char* unitId) {
GADRequest *request = [GADRequest request];
[GADInterstitialAd
loadWithAdUnitID:[NSString stringWithUTF8String:unitId]
request:request
request:createGADRequest()
completionHandler:^(GADInterstitialAd *ad, NSError *error) {
if (error) {
SetInterstitialAd(nil);
Expand Down Expand Up @@ -169,10 +177,9 @@ void SetRewardedAd(GADRewardedAd *newAd) {
}

void LoadRewarded(const char* unitId) {
GADRequest *request = [GADRequest request];
[GADRewardedAd
loadWithAdUnitID:[NSString stringWithUTF8String:unitId]
request:request
request:createGADRequest()
completionHandler:^(GADRewardedAd *ad, NSError *error) {
if (error) {
SetRewardedAd(nil);
Expand Down Expand Up @@ -323,7 +330,7 @@ void LoadBanner(const char* unitId, BannerSize bannerSize) {
bannerAd.rootViewController = uiViewController;
bannerAd.hidden = YES;
[uiViewController.view addSubview:bannerAd];
[bannerAd loadRequest:[GADRequest request]];
[bannerAd loadRequest:createGADRequest()];
}

void ShowBanner(BannerPosition bannerPos) {
Expand Down
2 changes: 1 addition & 1 deletion extension-admob/src/admob_private.h
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ enum MaxAdRating

void Initialize_Ext();

void Initialize();
void Initialize(const char* defoldUserAgent);
void LoadInterstitial(const char* unitId);
void ShowInterstitial();
void LoadRewarded(const char* unitId);
Expand Down
15 changes: 11 additions & 4 deletions extension-admob/src/java/com/defold/admob/AdmobJNI.java
Original file line number Diff line number Diff line change
Expand Up @@ -96,14 +96,17 @@ public class AdmobJNI {

// END CONSTANTS

private String defoldUserAgent = "defold-x.y.z";


private Activity activity;

public AdmobJNI(Activity activity) {
this.activity = activity;
}

public void initialize() {
public void initialize(String defoldUserAgent) {
this.defoldUserAgent = defoldUserAgent;
MobileAds.initialize(activity, new OnInitializationCompleteListener() {
@Override
public void onInitializationComplete(InitializationStatus initializationStatus) {
Expand Down Expand Up @@ -232,6 +235,10 @@ private void sendSimpleMessage(int msg, int eventId, String key_2, int value_2,
admobAddToQueue(msg, message);
}

private AdRequest createAdRequest() {
return new AdRequest.Builder().setRequestAgent(defoldUserAgent).build();
}

//--------------------------------------------------
// Interstitial ADS

Expand All @@ -241,7 +248,7 @@ public void loadInterstitial(final String unitId) {
activity.runOnUiThread(new Runnable() {
@Override
public void run() {
AdRequest adRequest = new AdRequest.Builder().build();
AdRequest adRequest = createAdRequest();

InterstitialAd.load(activity, unitId, adRequest, new InterstitialAdLoadCallback() {
@Override
Expand Down Expand Up @@ -330,7 +337,7 @@ public void loadRewarded(final String unitId) {
activity.runOnUiThread(new Runnable() {
@Override
public void run() {
AdRequest adRequest = new AdRequest.Builder().build();
AdRequest adRequest = createAdRequest();

RewardedAd.load(activity, unitId,
adRequest, new RewardedAdLoadCallback(){
Expand Down Expand Up @@ -445,7 +452,7 @@ public void loadBanner(final String unitId, int bannerSize) {
activity.runOnUiThread(new Runnable() {
@Override
public void run() {
AdRequest adRequest = new AdRequest.Builder().build();
AdRequest adRequest = createAdRequest();
view.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
Expand Down

0 comments on commit a33d8a5

Please sign in to comment.