2016-07-22 16 views
1

Meine Anmeldung unter Webview funktioniert gut, aber die zweite Seite nicht die Antwort.status === "verbunden" von Facebook SDK.Reagieren native App mit .setAcceptThirdPartyCookies

Ich fand hier die Lösung Checking Facebook login state in a webView always returns unknown aber meine Anwendung ist nicht Android nativ.

In einer nativen Anwendung reagieren, wo oder wie kann ich folgende überprüfen:
If (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {CookieManager.getInstance().setAcceptThirdPartyCookies(mainWebView, true); }

Antwort

1

Ich weiß, das kommt spät, aber wenn jemand andere Probleme mit Cookies in einem Webansicht auf Android hat denke ich, das wird helfen.

Damit Sie Cookies von Drittanbietern in Webview aktivieren können, müssen Sie einige Java-Code ändern.

Also müssen Sie eigentlich build react native from source und zu ändern react-native/ReactAndroid/src/main/java/com/facebook/react/views/webview/ReactWebViewManager.java Datei und fügen Sie die Zeilen, die Sie erwähnen, wo die Webansicht erstellt wird (oder möglicherweise eine Reaktion Webview-Eigenschaft, die Cookies von Drittanbietern aktivieren).

In meinem Fall habe ich es in createViewInstance Methode direkt nach der Webansicht über den folgenden Zeilen, die das Debuggen der Webansicht aktivieren initialisiert wird:

if (ReactBuildConfig.DEBUG && Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { 
    WebView.setWebContentsDebuggingEnabled(true); 
} 

Mein Code sieht nun so aus:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 
    CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true); 
} 

if (ReactBuildConfig.DEBUG && Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { 
    WebView.setWebContentsDebuggingEnabled(true); 
}