#include <s3eTypes.h> functions: s3eResult InitAds (const char * pub_id) S3E_RESULT_ERROR run_on_os_thread s3eResult ShowAds () S3E_RESULT_ERROR run_on_os_thread s3eResult HideAds () S3E_RESULT_ERROR run_on_os_thread

/ *
implementation of the AdmobAds extension.
Add android-specific functionality here.
These functions are called via JNI from native code.
* /
/ *
* NOTE:
* be overwritten (unless --force is specified) and is intended to be modified.
* /
import com.ideaworks3d.marmalade.LoaderAPI;
class AdmobAds
{
public int InitAds (final String pub_id)
{
return 0;
}
public int ShowAds ()
{
return 0;
}
public int HideAds ()
{
return 0;
}
} import com.ideaworks3d.marmalade.LoaderActivity;
import android.widget.Toast;
...
public int InitAds (final String pub_id)
{
LoaderActivity.m_Activity.runOnUiThread (new Runnable () {
@Override
public void run () {
Toast.makeText (LoaderActivity.m_Activity, pub_id, Toast.LENGTH_LONG) .show ();
}
});
return 0;
} subprojects
{
AdmobAds
} #include "AdmobAds.h"
int main ()
{
if (AdmobAdsAvailable ()) {
InitAds ("a14bd815 ...");
}

import android.view.ViewGroup.LayoutParams;
import android.view.View;
import android.widget.Toast;
import com.google.ads.Ad;
import com.google.ads.AdRequest;
import com.google.ads.AdRequest.ErrorCode;
import com.google.ads.AdSize;
import com.google.ads.AdView;
import com.ideaworks3d.marmalade.LoaderAPI;
import com.ideaworks3d.marmalade.LoaderActivity;
class AdmobAds
{
private static final int ADVIEW_NOT_INITIALIZED = 1;
private adView adView;
public int InitAds (final String pub_id)
{
LoaderActivity.m_Activity.runOnUiThread (new Runnable () {
@Override
public void run () {
Toast.makeText (LoaderActivity.m_Activity, pub_id, Toast.LENGTH_LONG) .show ();
adView = new AdView (LoaderActivity.m_Activity, AdSize.BANNER, pub_id);
adView.loadAd (new AdRequest ());
LoaderActivity.m_Activity.addContentView (adView, new LayoutParams (LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
}
});
return 0;
}
public int ShowAds ()
{
if (adView! = null) {
LoaderActivity.m_Activity.runOnUiThread (new Runnable () {
@Override
public void run () {
adView.setVisibility (View.VISIBLE);
}});
} else {
return ADVIEW_NOT_INITIALIZED;
}
return 0;
}
public int HideAds ()
{
if (adView! = null) {
LoaderActivity.m_Activity.runOnUiThread (new Runnable () {
@Override
public void run () {
adView.setVisibility (View.INVISIBLE);
}});
} else {
return ADVIEW_NOT_INITIALIZED;
}
return 0;
}
}
#! / usr / bin / env mkb
# Builder mkb file for the java portion of the AdmobAds extension on android
platform JAVA
files
{
(source / android)
AdmobAds.java
}
librarypath "$ MARMALADE_ROOT / s3e / deploy / plugins / android / android.jar"
librarypath "$ MARMALADE_ROOT / s3e / loader / android / s3e_release.jar"
librarypath "c: /Marmalade/5.0/examples/HelloWorld_java/GoogleAdMobAdsSdk-4.1.0.jar"
option output-name = lib / android / AdmobAds.jar
deployments
{
android-manifest = AndroidManifest.xml
android-external-jars = GoogleAdMobAdsSdk-4.1.0.jar
}
<activity android: name = "com.google.ads.AdActivity"
android: configChanges = "keyboard | keyboardHidden | orientation" />
...
<uses-permission android: name = "android.permission.INTERNET" />
<uses-permission android: name = "android.permission.ACCESS_NETWORK_STATE" />

Source: https://habr.com/ru/post/124077/
All Articles