Ich habe Facebook App-Einladungen in der Demo-Anwendung implementiert. Es hat gut funktioniert, aber keine Benachrichtigung erhalten.
Ich habe alle Details in meiner Frage hinzugefügt, jetzt kann mir jemand sagen, was ist das Problem in meinem Code und was soll ich tun, um dies zu beheben. ich habe Testbenutzer zum Testen dieser App erstellt.
Dieser Code funktioniert einwandfrei. Er startet ein Dialogfeld, in dem die Freundesliste angezeigt wird. Außerdem wird angezeigt, dass die App-Einladung gesendet wird. Wenn ich sie im Freundeskonto abfrage, wird keine Benachrichtigung angezeigt.
Meine Info.plist-Datei
Ich glaube, ich habe einen Fehler in info.plsit unter URL Type (URL Schemata). Ich hatte eine Handlung geschrieben, wie die Methode heißt, aber ich nicht habe eine Idee was ich in diese Spalte schreiben soll.
%Vor%Appdelegate.m
%Vor%ViewController.h
Ergebnis wird null wenn
appInviteDialog:(FBSDKAppInviteDialog *)appInviteDialog didCompleteWithResults:(NSDictionary *)results
aufgerufen
versuchen Sie dies in Ihrem AppDelegate.m
importieren Sie das oben:
%Vor%und verwenden Sie dies für die Anwendung: openurl: sourceapplication: annotation
%Vor%Dies verwendet facebook sdk, um openurls statt eines benutzerdefinierten Handlers zu behandeln.
Dies löst die von Ihnen definierten Delegiertenmethoden aus und Sie können fortfahren, den Benutzer zu warnen oder zu tun, was Sie wollen.
Auch in Ihrer info.plist muss der URLSchemes-Wert derselbe sein wie in Ihrer Facebook-Eingabe-URL mit einem benutzerdefinierten Schema. Wenn Sie zum Beispiel myapp://
in Ihrer 'URL mit einem benutzerdefinierten Schema' im Facebook-Dialog haben, wäre Ihr URLSchema myapp
(wo Sie derzeit action
haben)
Nur Safari weiß, dass wenn Sie 'myapp: //' in der URL-Leiste aufrufen, diese Ihre App öffnen soll. Sofern Sie Ihre Parameter nicht an die App übergeben, brauchen Sie nach dem 'myapp: //' auf dem Facebook-Bildschirm nichts mehr.
/ ----- SEITENHINWEIS ----- /
Vergewissern Sie sich, dass Sie in Ihren Entwicklereinstellungen ( Ссылка {{App-ID}} / Einstellungen /) die Plattform hinzugefügt haben ios, und haben sowohl eine Bundle-ID und die iPhone-Store-ID und iPad-Store-ID eingerichtet.
Sie können eine beliebige App-ID (die von iTunes Connect, eigentlich "Apple ID" genannt) für das iPhone & amp; iPad App-ID (stellen Sie sicher, dass es eine gültige aus dem App-Store, Namen müssen nicht übereinstimmen) und verwenden Sie Ihre Bundle-ID für Ihre App. Die Nummer für das iPhone & amp; ipad id kann gleich sein. Dies ist wichtig, da Facebook die Benachrichtigung nicht an den Benutzer sendet, da es nicht weiß, wohin der Benutzer gesendet werden soll, wenn er die App nicht heruntergeladen hat. Setzen Sie das ein und senden Sie eine weitere Benachrichtigung und es sollte funktionieren.
/ ---------- SEITENHINWEIS 2 -------------
Wenn Sie die Quick Starts von Facebook verwenden, um den App-Einladungslink zu erstellen, stellen Sie sicher, dass Sie die Parameter in der ios-Box korrekt eingerichtet haben. Hier ist ein Beispiel dafür, wie das Setup aussehen sollte (dies ist der Link, der aussieht wie " Ссылка ")
Die "URL mit einem benutzerdefinierten Schema" muss die gleiche sein, die Sie in Ihrer info.plist haben - mit der obigen Antwort, wenn Sie "myapp" in Ihrer info.plist unter URLSchemes haben, würden Sie "myapp: //" setzen "in der Facebook" Url mit einem benutzerdefinierten Schema ". Der App-Name kann alles sein, was nur zur Anzeige dient. Obwohl "App Store-ID" optional ist, wird benötigt . Stellen Sie sicher, dass Sie das gleiche wie hier oben verwenden, wo Sie Ihre "iPad Store ID" und "iPhone Store Id" eingestellt haben. Dadurch wird Apple angewiesen, den Benutzer in den itunes-Store zu verschieben, wenn er nicht über Ihre App verfügt.
Gehen Sie zum Entwickler-Dashboard. Wähle deine App aus. Fügen Sie die Plattform "Facebook Canvas" hinzu, legen Sie die Canvas-URL fest. Hoffe es funktioniert
Um funktionierende Benachrichtigungen zu erhalten, gehen Sie zu den Einstellungen und fügen Sie die erforderlichen Plattformen hinzu. Wenn Sie Benachrichtigungen über die native iOS-App erhalten möchten, fügen Sie die iOS-Plattform für "Android" und für das Web "Facebook Canvas" hinzu. Fügen Sie die erforderlichen Daten für jede Plattform hinzu und versuchen Sie es dann. Hoffe, es wird funktionieren.
Hinweis: Für native iOS- und Android-Apps müssen Sie die Daten der Live-Apps hinzufügen:)
Tags und Links objective-c ios facebook-graph-api facebook-ios-sdk facebook-invite-friends