FacebookSDK接入的那些坑

更加详细的步骤
audience-network接入的步骤和遇到的问题探讨
http://bbs.csdn.net/topics/392021910

1,使用aar代替jar,对Android Studio熟悉的同学建议直接看第4步
1)首先需要开发工具使用Android studio而不是Eclipse;
一个Android studio Module等于一个Eclipse project;
一个Eclipse project等于一个Eclipse workSpace;
2)Android studio中添加依赖
以接入FacebookSDK的原生广告AudienceNetwork为例子,需要依赖DebugSettings.aar和AudienceNetwork.aar
1)放arr包到libs下
AudienceNetwork.aar和DebugSettings.aar放到yourProject/yourModule/libs下面
2)在build.gradle中添加依赖
yourProject/yourModule/build.gradle/dependencies中增加如下配置
这里写图片描述

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile(name: 'AudienceNetwork', ext: 'aar')
    compile(name: 'DebugSettings', ext: 'aar')
  }

3)刷新工程
增加完毕之后,记得点击那个Sync Project with Gradle Files,刷新工程就可以调用FacebookSDK提供的方法了。

2,Add your development and release key hashes
需要获取android studio的release key hashes
最简单的方法:直接采用代码的方式就可以获取;

//Add your development and release key hashes
    public static String printKeyHash(Activity context) {
        PackageInfo packageInfo;
        String key = null;
        try {
            //getting application package name, as defined in manifest
            String packageName = context.getApplicationContext().getPackageName();

            //Retriving package info
            packageInfo = context.getPackageManager().getPackageInfo(packageName,
                    PackageManager.GET_SIGNATURES);

            Log.e("Package Name=", context.getApplicationContext().getPackageName());

            for (Signature signature : packageInfo.signatures) {
                MessageDigest md = MessageDigest.getInstance("SHA");
                md.update(signature.toByteArray());
                key = new String(Base64.encode(md.digest(), 0));

                // String key = new String(Base64.encodeBytes(md.digest()));
                Log.e("Key Hash=", key);
            }
        } catch (PackageManager.NameNotFoundException e1) {
            Log.e("Name not found", e1.toString());
        } catch (NoSuchAlgorithmException e) {
            Log.e("No such an algorithm", e.toString());
        } catch (Exception e) {
            Log.e("Exception", e.toString());
        }

        return key;
    }

3,Failed to find provider info for com.facebook.katana.provider.AttributionIdProvider

logcat报错日志

08-04 04:51:31.293: E/ActivityThread(13933): Failed to find provider info for com.facebook.katana.provider.AttributionIdProvider
08-04 04:51:32.765: I/linux(13933): onError 1001 No fill. We are not able to serve ads to this person. Please refer to https://developers.facebook.com/docs/audience-network/faq#a12. If you are integrating Audience Network for the first time, you can use test ads https://developers.facebook.com/docs/audience-network/testing.

这个错误出现的原因有哪些?
给应用联网权限;国内要翻墙,测试机要能够连上facebook;安装facebook app并且登录;
我遇到的坑是什么?
没有安装facebook app;不仅仅需要安装,而且还需要登录Facebook APP。
4,aar转换成为jar,Eclipse中怎么使用aar
使用7-zip将aar包解压,里面有个class.jar;直接用这个jar就可以了。
5,参考文档
1)FacebookSDK 广告audiencenetwork对应的文档
https://developers.facebook.com/docs/audience-network/

https://developers.facebook.com/docs/audience-network/android
2)在 Android 应用中添加插播式广告
https://developers.facebook.com/docs/audience-network/android/interstitial/
6,问题求解过程
我是第一接入,最快的方法当然是看开发者文档,遇到错误就google,遇到报错就上stackoverflow;
7,audience-network接入的步骤和遇到的问题探讨
http://bbs.csdn.net/topics/392021910

8、采用openssl 方式key hashes
首先下一个文件keyHash(去这里下载 https://download.csdn.net/download/codehxy/11227399)
(如果在windows上就可以写一个keyHash.bat),内容如下

RELEASE_KEY_ALIAS=$1  
RELEASE_KEY_PASSWARD=$2
RELEASE_KEY_PATH=$3
keytool -exportcert -alias $RELEASE_KEY_ALIAS -storepass $RELEASE_KEY_PASSWARD -keystore $RELEASE_KEY_PATH | openssl sha1 -binary | openssl base64

怎么执行

sh keyHash.sh ALIAS PASSWARD  app\magiccamera.jks

三个参数分别是签名别名、密码以及签名文件路径

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
接入Unity SDK,首先需要理解Unity与安卓平台之间的交互方式。在安卓平台上,主体是Java,而Unity项目的主体则是封装的项目。 具体步骤如下: 1. 创建一个继承自SDKBase的类,例如SDKForAndroid。 2. 在SDKForAndroid类中,使用DllImport("__Internal")来引用Unity的函数。这些函数包括SDKInit()、SDKLogin()和SDKLogout()等等。 3. 在SDKForAndroid类中,重写Init()、Login()、Logout()、Pay()、LoginGame()和CreateRole()等方法,并在这些方法中调用对应的Unity函数。 4. 在SDKForAndroid类中,根据需要可以添加其他功能的实现。 5. 在Unity项目中,将SDKForAndroid类添加到需要接入SDK的场景中。 通过以上步骤,就可以实现Unity SDK接入了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Unity 接入SDKAndroid)](https://blog.csdn.net/qq_52956140/article/details/121463308)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [[Unity]Unity接平台SDK(3种方式)](https://blog.csdn.net/zp288105109a/article/details/80244617)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值