ngFacebook不能使用phonegap
我在当前的角度应用程序中使用Almog Baku的ngFacebook。 在测试环境中,它工作正常。 但是在通过phonegap构建的apk中不起作用。 我已包括在内
<dependency id="cordova-plugin-inappbrowser" />
和
<feature name="InAppBrowser">
<param name="android-package" value="org.apache.cordova.InAppBrowser" />
</feature>
<feature name="InAppBrowser">
<param name="ios-package" value="CDVInAppBrowser" />
</feature>
进入我的config.xml
但仍然没有InAppBrowser或新标签弹出。
我的App.js
是
var myApp = angular.module('myApp', [
'ngTouch',
'ngRoute',
'myApp.controllers',
'ngIdle',
'ngFileUpload',
'ng.deviceDetector',
'oitozero.ngSweetAlert',
'angular-hmac-sha512',
'ngFacebook'
]);
myApp.config( function( $facebookProvider ) {
$facebookProvider.setAppId('1869339203095182');
});
在我的控制器中:
$scope.login = function() {
$facebook.login().then(function() {
refresh();
});
}
$rootScope.$on('event:social-sign-in-success', function(event, userDetails){
console.log(userDetails);
})
function refresh() {
$facebook.api("/me",{fields: 'id,name,email'}).then(
function(response)
{
//console.log( response );
},
function(err) {
console.log(err);
//$scope.welcomeMsg = "Please log in";
}
);
}
refresh();
对于社交媒体集成你应该使用官方的cordovaOauth
。 你可以在这里找到关于它的所有文档。 但要使用它,你应该包括
<script src="lib/ng-cordova.js"></script>
<script src="cordova.js"></script>
这些放到你的index.html
。 在你的控制器调用应该是:
$scope.login = function() {
$cordovaOauth.facebook("YOUR_APP_ID", ["email","public_profile", "user_friends"]).then(function(result) {
$http.get("https://graph.facebook.com/me", { params: { access_token: result.access_token, fields: "id,name,email,gender,location,website,picture,relationship_status", format: "json" }}).then(function(result1) {
//this is success call
//console.log(result1)
}, function(error) {
alert("There was a problem getting your profile. Check the logs for details.");
console.log(error);
});
}, function(error) {
console.log(error);
});
}
希望这会帮助你。 有关更详细的信息,你可以通过ng-cordova.js
这个文件。
在手机上使用Javascript并不适用于社交媒体。 这主要是因为安全限制,证书等等。 请记住,您可以通过在AppsStore或Google Play中发布应用程序后加载新的JavaScript代码来欺诈业务逻辑。 我相信Facebook会阻止移动设备上的JavaScript实现。
一些科尔多瓦应用程序,例如美国银行,甚至由于缺乏SSL固定而不使用$http
或ajax
,它们在大多数模块中使用本机实现。
不想失望,但...看看这个问题:不适用于2015年6月4日开放的cordova android项目
我试图在移动应用上使用ngFacebook,但不起作用。 我在台式机上测试过,效果很好
你想实现什么? 如果您只需要登录,请在Apache Cordova / PhoneGap上尝试Facebook的官方插件 - 它使用本地Facebook插件。 或者cordova-plugin-facebook4
链接地址: http://www.djcxy.com/p/40733.html