Well, actually I have some possibly good news As I’m kind of obsessed with the idea of delivering notifications to my community users via their Facebook (through Messenger and/or notifications), I’m in the middle of deconstructing those nightmarish API procedures.
Unfortunately, I’m not a Ruby developer, so I won’t be able to create any plugin myself. I can only provide ‘bare’ algorythm or pseudocode, but to reforge it into a functional Discourse plugin (or plugins perhaps?) I would need help of a qualified programmer.
Why do I believe we need this as a community?
We have use cases (I believe) of moving communities from fb groups into , and enabling a mechanism to recieve notifications on a channel that they are used to would smoothen this transitions a lot.
Facebook is a threat to other online communities as it tends to ‘suck out’ any online activity. People are active on FB virtually 24/7 and because of that the’re not very eager to move to any external services when they feel that all their needs - in this case communication needs - are already well served there. Providing them with notifications in spaces where they are already present, could be a way to fight that tendency, since the user would receive ‘pings’ from their based community in exactly the same way as the rest of their daily communication.
Regarding issues mentioned above
It is doable. I’m positive for this very moment, after digging into Messenger API that we can move to sending notifications with little bit of algorithms and some smart code.
Well, this is actually a real problem. You could say that notifier app can be counted into any of the allowed category, and I highly doubt that it would contain
advertising, marketing, solicitations, or promotional conten
in most use cases. But we have to be realistic: ToS of this API are made exactly to stop any other social and discussion channels from using the platform. There are though some possible solutions: from hoping that they wouldn’t notice, to using third-party libraries or even providing own solution based on available MQTT gem. Other interesting solution would be displaying Discourse forum as FB Canvas app perhaps? Still, what matters is that: there are options.
Well, yeah. You know, group conversations on FB were not designed for bots, but for people But I’ve already seen services which had standalone browser version and FB Canvas embedded (and using notifications) version as well, maybe this would be some solution? But I admit, I didn’t dig into this, as group notifications are somewhat out of my scope. But there are options worth considering.
Cheers!
Aside from the discourse-chat-integration plugin, I really like the idea of sending ‘actual’ facebook notifications from Discourse, something that was touched on here:
Yeah, but you have to remember about one of the most important Open Source rules - when they close the door, we enter via window Anything that is not explicitly forbidden in ToS is allowed, right?I doubt that they’ll change their APIs and methods again just because some discussion software community found some loophole
About the notifications - yes, they are available for every app, and if we’d combine it with embedding instance as a FB canvas app, we would escape the TOS, as redirecting users out of faceook by app is explixitly forbidden. And I still remember, that making canvas app out of regular website is rather straight-forward, I did something like this with Drupal once.
Perhaps we could use the “invite friend to this app” mechanism as well? Combined somehow (or not) with built-in invitations system?
Yep, that’s exactly right. The Discourse plugin API makes that bit super easy. So we’d have something like
DiscourseEvent.on(:post_notification_alert) do |user, payload|
# Send a notification to facebook using user information
# and the notification data in the payload
end
It’s worth a try, but discourse is a very complicated app that probably won’t like being stuck inside an iFrame… We might be able to leverage the discourse API to build a separate (read only) UI inside facebook, but that does increase the work a lot. Ideally we’d just link to Discourse, but if that’s a breach of their ToS then they may well shut it down.
One very large issue I’ve just noticed is in the API Description for “App Notifications”
The notifications are only surfaced on the desktop web version of Facebook
That limits the usefulness a lot, given the huge proportion of people that access facebook on a mobile device .
Are you talking about this product? Looks like it requires you to have your own app in the Android/iOS app stores - it doesn’t send the notifications via the facebook app.
If that’s not it, can you post a link - I can’t anything else in their API docs
Damn, you’re right!
But wait, is there even a possibility to play games on mobile Facebook? It seems no, so that would explain why push notif. by apps are not supported…
Edit:
So, I have found in documentation that:
Game requests are available for Games on Facebook and for mobile games on iOS and Android. On the Facebook desktop site, requests appear as a beeper pop-up in the lower left of the screen as well as in the notifications jewel. On mobile platforms requests will surface within the list of notifications in the Facebook App.
So, it’s not like this notifications are not displayed on mobile device!
Hi there! Thanks a lot for the feedback.
So, according to FB’s terms of service, creating a notification that redirects user out of Facebook is explicitly and strictly forbidden.
That’s why I came up with the idea of embedding whole forum into Facebook as an app.
At this moment it seems to be entirely possible, but I won’t be sure untill the app is finished and passes the review.
Of course I’ll be happy for any additional feedback you can provide.
Cheers!
Oh, sorry, did you mean showing IA after user hits notification? If so, I have to admit I have no clue. Perhaps it would be possible, but as notifications provided in fb Games work mostly od desktops, and Instant Articles show up on mobile devices, I don’t see a point in it…
I looked into the concept of posting an iframe of Discourse into the canvas and running it that way but that has some issues with functionality on the Discourse side as well as being frowned upon by FB.
What they eventually told me:
We highly discourage pulling an existing site into an app on Facebook. It’s easy for links within the iframe application to lead off of Facebook and will then put you in violation of policy.
They seem dedicated to keeping folks on FB and leading developers to building apps specifically for FB as opposed to repurposing code. I know there are services and sites out there that do this exact process but the two or three that I talked to said they had been put on a “watch list” by FB and are likely to be shut down soon.
Sad, but not unexpected. Thanks to everyone for digging into this.
In the coming weeks @HAWK and I will be working on more content for “best practice community management with Discourse”. We’ll be sure to include a tutorial on Facebook content sharing strategies.