为iOS和Android创建一个自定义的Phonegap Build AdMob插件

46

我的Phonegap Build应用程序中的所有内容都正在工作,包括Analytics和FacebookConnect插件。但是,现在我想添加AdMob广告。

Phonegap Build没有提供内置的AdMob插件,但是根据Phonegap Build Plugins页面,现在您可以添加自己的自定义插件(请参见页面底部的Contributing Plugins)。

使用plugin.xml文件,PhoneGap插件可以与PhoneGap Build兼容...

Phonegap Build Plugins页面引用了GitHub上Child Browser plugins.xml作为设置自定义plugin.xml的示例。以下是Child Browser plugin.xml的内容。

我不确定我需要修改这个文件的哪些方面以及如何修改它们。我认为已经正确设置了Phonegap AdMob插件的文件结构,包括iOSAndroid(请参见下面的文件结构),但我不确定如何在plugin.xml文件中正确引用这些文件。

<?xml version="1.0" encoding="UTF-8"?>
<plugin xmlns="http://www.phonegap.com/ns/plugins/1.0"
    xmlns:android="http://schemas.android.com/apk/res/android"
    id="com.phonegap.plugins.childbrowser"
    version="3.0.4">

    <name>Child Browser</name>

    <asset src="www/childbrowser.js" target="childbrowser.js" />
    <asset src="www/childbrowser" target="childbrowser" />

    <!-- android -->
    <platform name="android">
        <config-file target="AndroidManifest.xml" parent="/manifest/application">
            <activity android:name="com.phonegap.plugins.childBrowser.ChildBrowser"
                      android:label="@string/app_name">
                <intent-filter>
                </intent-filter>
            </activity>
        </config-file>

        <!-- Cordova 1.5 - 1.9 -->
        <config-file target="res/xml/plugins.xml" parent="/plugins">
            <plugin name="ChildBrowser"
                value="com.phonegap.plugins.childBrowser.ChildBrowser"/>
        </config-file>

        <!-- Cordova 2.0.0 -->
        <config-file target="res/xml/config.xml" parent="/cordova/plugins">
            <plugin name="ChildBrowser"
                value="com.phonegap.plugins.childBrowser.ChildBrowser"/>
        </config-file>

        <source-file src="src/android/ChildBrowser.java"
                target-dir="src/com/phonegap/plugins/childBrowser" />
    </platform>
    <!-- ios -->
    <platform name="ios">
        <plugins-plist key="ChildBrowser"
                    string="ChildBrowserCommand" />

        <resource-file src="ChildBrowser.bundle" />
        <resource-file src="ChildBrowserViewController.xib" />

        <header-file src="ChildBrowserCommand.h" />
        <header-file src="ChildBrowserViewController.h" />

        <source-file src="ChildBrowserCommand.m" />
        <source-file src="ChildBrowserViewController.m" />
    </platform>
</plugin>

应用文件结构

/index.html 
/config.xml 
  /adMob 
    /plugin.xml 
    /src
      /iOS 
        /GADAdMobExtras.h (from AdMob iOS SDK)
        /GADAdNetworkExtras.h (from AdMob iOS SDK)
        /GADAdSize.h (from AdMob iOS SDK)
        /GADBannerView.h (from AdMob iOS SDK)
        /GADBannerViewDelegate.h (from AdMob iOS SDK)
        /GADInterstitial.h (from AdMob iOS SDK)
        /GADInterstitialDelegate.h (from AdMob iOS SDK)
        /GADRequest.h (from AdMob iOS SDK)
        /GADRequestError.h (from AdMob iOS SDK)
        /libGoogleAdMobAds.a (from AdMob iOS SDK)
        /AdMobPlugin.h (from Phonegap Plugin for iOS)
        /AdMobPlugin.js (from Phonegap Plugin for iOS)
        /AdMobPlugin.m (from Phonegap Plugin for iOS)
      /android
        /AdMobPlugin.java (from Phonegap Plugin for Android)
        /AdMobPlugin.js (from Phonegap Plugin for Android)
        /GoogleAdMobAdsSdk-6.2.1.jar (from AdMob Android SDK)

iOS版Phonegap插件
AdMob iOS SDK
Android版Phonegap插件
AdMob Android SDK


你是否曾经使用PhoneGap Build使其正常工作? - Dom
@Dom 不好意思,我还没有解决这个问题。 - Mark Rummel
感谢您的回复。PhoneGap Build博客文章提到v2.7应该很快就会推出。在同一篇文章的末尾,他们简要提到将有更多的插件可用。我很期待这将是其中之一。 https://build.phonegap.com/blog/ending-support-for-phonegap-1-9 - Dom
@MarkRummel 现在有解决方案了吗? - Hope4You
5个回答

2

我制作了一个插件

但是它被"PhoneGap Build"拒绝了,因为其中包含Google二进制文件...
今天,你没有办法在"PhoneGap Build"项目中使用Admob。


1
这是一个旧的未回答的问题,因为直到今天都是不可能的。但是Phonegap宣布了一项规则更改:在这里查看,所以现在可以使用外部插件。要将Admob广告添加到您的Phonegap Build应用程序中,请编辑您的config.html文件并放置以下代码:
<gap:plugin name="phonegap-admob" source="npm" />

我是这个插件的作者,你可以在这里看到一个实时演示应用(仅限安卓)。


谢谢,我有一个本地的iOS框架,现在正在寻找如何创建一个插件来与Phonegap Build一起使用的指南,这个插件是否应该与本地Phonegap项目的插件相同?你知道有没有好的教程可以参考吗?谢谢。 - Developeder

0

这篇文章提供了关于如何为你的插件设置plugman的内容,正是你所需要的。


0

现在,PhoneGap Build允许任何用户贡献插件,并且这些插件将对所有用户可用(当然,在审核和测试之后)。
他们有一个新页面描述了这个过程,并建议有抱负的贡献者查看Facebook插件的存储库。

因此,也许您可以基于此文档创建一个漂亮的Admob插件。


0

关于Admob:阅读有关它们的信息有点令人困惑,因为过去他们曾通过JavaScript方法为移动网站提供广告,但在谷歌收购该公司后,他们将其删除了,Admob不再为移动网站提供服务,而是建议您使用Adsense。令人困惑的是,仍然有安装Admob JavaScript的说明,但这已经不存在了。
我看到了您的链接,我猜您正在尝试为iOS应用程序安装Admob。我为Android应用程序做过这件事,这很简单,容易,但问题是无论我尝试什么,它都显示在底部。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接