2017-10-25 13 views
7

Im sử dụng ngFacebook bởi Almog Baku trong ứng dụng góc hiện tại của tôi. Trong môi trường thử nghiệm nó hoạt động tốt. Nhưng trong apk xây dựng qua phonegap nó không hoạt động. Tôi đã bao gồmngFacebook không hoạt động với phonegap

<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> 

vào config.xml tôi quá nhưng vẫn không có InAppBrowser hoặc tab mới poping lên.

My 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'); 
}); 

Và trong bộ điều khiển của tôi:

$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(); 
+0

Bạn có thấy điều này không? https://stackoverflow.com/questions/30380657/cannot-log-into-facebook-via-ngfacebook-on-angularjs-app –

+0

hoạt động trong môi trường thử nghiệm nhưng không hoạt động trong apk build. Thậm chí không bật lên bất cứ điều gì. – Debra

+1

@RameshRajendran nếu bạn có thể đặt tiền thưởng cho câu hỏi này, Xin vui lòng, Nó sẽ thực sự giúp đỡ rất nhiều. – Debra

Trả lời

1

Để tích hợp phương tiện truyền thông xã hội Bạn nên sử dụng chính thức cordovaOauth. Bạn có thể tìm thấy tất cả tài liệu liên quan đến nó here. Nhưng để sử dụng nó, bạn nên bao gồm

<script src="lib/ng-cordova.js"></script> 
<script src="cordova.js"></script> 

chúng vào số index.html. Và trong cuộc gọi điều khiển của bạn nên là:

$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); 
}); 
} 

Hy vọng điều này sẽ giúp bạn. Để biết thêm thông tin chi tiết, bạn có thể xem qua ng-cordova.js tệp này.

+1

Hãy để tôi thử với điều này. Hy vọng điều này sẽ làm việc. – Debra

2

Javascript trên điện thoại di động không làm việc tốt với truyền thông xã hội. Nó xảy ra chủ yếu là do các hạn chế bảo mật, giấy chứng nhận và như vậy. Hãy nhớ với Javascript bạn có thể gian lận logic kinh doanh bằng cách tải mã javascript mới sau khi ứng dụng đã được xuất bản trong AppsStore hoặc Google Play. Tôi tin rằng Facebook chặn việc triển khai javascript trên thiết bị di động.

Một số ứng dụng của Cordova, ví dụ: US Bank .., thậm chí không sử dụng $http hoặc ajax vì thiếu SSL Pinning, chúng sử dụng cài đặt gốc cho hầu hết các mô-đun.

Không muốn mọi người thất vọng nhưng ... có một cái nhìn về vấn đề này: Does not works on cordova android project mở tại Jun 4, 2015

tôi cố gắng sử dụng ngFacebook trên một ứng dụng điện thoại di động nhưng không hoạt động. Tôi đã thử nghiệm trên máy tính để bàn và nó hoạt động hoàn hảo


Bạn muốn đạt được điều gì? nếu bạn chỉ cần đăng nhập, hãy thử official plugin for Facebook in Apache Cordova/PhoneGap - nó sử dụng plugin Facebook gốc. Hoặc cordova-plugin-facebook4

Các vấn đề liên quan