Cordova Facebook插件:在config.xml中设置APP_ID,APP_NAME

时间:2019-05-29 10:05:21

标签: facebook cordova ionic-framework plugins

1。我们想要实现的目标

使用fb cordova插件(cordova-plugin-facebook4-https://github.com/jeduan/cordova-plugin-facebook4)安装预配置的cordova应用程序

2。问题

该问题源自“预配置”部分。 默认情况下,安装时要求插件通过一些配置,例如APP_NAME / APP_ID值,作为指定的<https://ionicframework.com/docs/native/facebook>上的文档。

这对我们来说是个问题,因为我们的应用程序创建流程主要基于Cordova的配置 config.xml ,其中明确列出了所有插件。

3。问题

我们需要能够直接在 config.xml 文件中传递一些配置,就像下面显示的其他插件一样:

<plugin name="cordova-plugin-camera" spec="2.4.1">
    <variable name="CAMERA_USAGE_DESCRIPTION" value="Allow the app to use your camera" />
    <variable name="PHOTOLIBRARY_USAGE_DESCRIPTION" value="Allow the app to access your photos" />
</plugin>

在前几行中,cordova-plugin-camera的变量是配置插件的方式。

4。未采用替代解决方案

仔细阅读,需要一些解决方案来更改facebook-plugin的 plugin.xml 文件。

此解决方案的问题是分叉插件维护的成本。

5。基于4.的问题。

避免为了配置设置目的而使用fork插件, HOOKS 方法是否有用?我的意思是,是否可以像下面链接<{Cordova Facebook plugin : missing variables APP_ID, APP_NAME>的第二个答案中所述,在某些build / prepare / plugin安装时替换 plugin.xml 中的“ preference”标记?

感谢阅读!

1 个答案:

答案 0 :(得分:0)

您可以在配置XML中指定APP_ID和APP_NAME,如下所示:-

在Android平台下:-

for (i=0; i<10; i++) {
    do {
      printf("Enter number %d: ",i+1);
      scanf("%d", &ages[i]);
    } while (ages[i] < -1 || ages[i] > 150);
    if (ages[i] == -1){
        break;
    }
}

在平台外部和底部(安装了fb插件时)的定义如下:-

<config-file parent="/resources" target="./res/values/strings.xml">
    <string name="fb_app_id">574355309670137</string>
    <string name="fb_app_name">HUB App</string>
</config-file>

如有任何疑问,请告诉我。