Monthly Archives: November 2013

Make your App Social with BBM

Hier ist @leaschnherr, eine Studentin die mit @Klajili im Tech Center Bochum arbeitet. Ich werde euch heute zeigen wie man eine App auf eine sehr einfache Art und Weise bei BBM registriert. Das hilft seine App zu verbreiten und die Downloadzahlen zu erhöhen.

Screen Shot 2013-10-31 at 5.05.45 PMDas erste was getan werden muss, ist die Erlaubnis in der bar-descriptor.xml Datei zu setzten. Wenn du Momentics benutzt, kannst du diese einfach durch einen Doppelklick öffnen und unter dem Application Tab findest du alle Permissions.

Als nächstes muss noch die BBM Library zum Projekt hinzugefügt werden, z. b. indem die Zeile LIBS += -lbbplatformbbm  in die .pro Datei kopiert wird. Alternativ kann man auch auf das Projekt rechtsklicken und Project->Configure->Add Library…  auswählen. Dann auf Standard BlackBerry platform library und als nächstes nach ”libbbplatformbbm” suchen. Wähle diese Library und klicke auf finish. Das ändert automatisch die .pri Datei.

Um BBM zu nutzen braucht man eine UUID. Diese wird benötigt, um deine App bei BBM zu identifizieren. So eine bekommst du z. B. hier: http://www.guidgenerator.com. Jede App braucht ihre eigene einzigartige UUID und es sollte die gleiche verwendet werden, wenn eine neue Version der App veröffentlicht wird.

Los gehts es mit main.cpp:

wie du siehst werden nur einige Zeilen benötigt. Neben der UUID kann eine einfache GUI erzeugt werden um den Benutzer zu zeigen was passiert. Nun werden nur noch drei weitere Zeilen benötigt. Das Erstellen der Klasse Registration und der Klasse Profile (Diese Klasse wird später benötigt um das Profil anzuzeigen). Die dritte Zeile verbindet das Signal der Registration Klasse (dieses wird gesendet, wenn die Registrierung erfolgreich war) und das Slot welches die nächste Page anzeigt.

Die Klasse Registration  registriert die App bei BBM. Dieser Schritt wird nur beim ersten Ausführen der App durchgeführt. Somit muss im erste Teil gecheckt werden in welchem Zustand sich die App befindet. Hierfür wir die Klasse Context und ihr Objekt  RegistrationState verwendet.  RegistrationState beinhaltet ein Enum mit 15 möglichen Zuständen (Die möglichen Zustände sind hier dokumentiert). In der App muss der aktuelle Zustand herausgefunden werden und abhängig von diesem die App registriert werden. Hier wurde das über eine switch-case-Anweisung gemacht, allerdings nicht alle möglichen Zustände berücksichtigt. Stattdessen wurde eine qDebug Ausgabe verwendet, um den Registrierungprozess zu verfolgen und, für den Fall, zusehen, was schief gegangen ist.

Da der Zustand sich mehrmals ändern kann muss registrationStatus() als Slot mit dem Signal registerStateUpdated() der Context Klasse verbunden werden.

Um den Prozess zu starten muss registrationStatus() einmal aufgerufen werden. Jetzt wird die App entweder die Registrierung anfordern oder ein Signal aussenden, was anzeigt, dass sie bereits registriert ist. Die Dritte Möglichkeit ist, dass ein Fehler aufgetreten ist. In diesem Fall muss die Konsolenausgabe gelesen werden um den Fehler zu beseitigen. Wenn alles gut läuft zeigt BBM eine Toast Nachricht an.

IMG_00000015

Make your App Social with BBM

This is @leaschnherr, a student working in the Tech Center Bochum with @Klajili. Happy to show you today how to register your app to BBM in a very simple way. This will help your app getting viral and increase the downloads considerably.

Screen Shot 2013-10-31 at 5.05.45 PM

First thing you need to do is to set the permission for BlackBerry Messenger in your app bar-descriptor.xml file. If you use momentics, you can double click on it and go to the Application tab to see and set the permission.

Second you will need to add the BBM platform libraries to your project by adding the line LIBS += -lbbplatformbbm in the .pro file or rigth click on your Project->Configure->Add Library… . Choose Standard BlackBerry platform library, click next an search for “libbbplatformbbm”. Select this library an click finish. This will modifiy your .pri file.

To use BBM you need an UUID. This is needed to identify your app to BBM. You can for example get one at: http://www.guidgenerator.com. Every app needs its own unique UUID and you should use the same UUID when you release a new version of your app.

Let’s modify main.cpp first:

As you can see, just few lines of code are required. Besides the UUID you can show a GUI to indicate the user what is happening. Now only three other lines are needed. The creation of the Registration class and Profile class (This class will be filled later to show the profile). The third line connects the signal of the Registration class (which is emitted when registration is ready) and the slot which shows the next page.

The class Registration registers the app to BBM. This step is only required when you start the app for the first time. So the first part of the code is to check in which state the app is. For this the class Context and its property RegistrationState is used. RegistrationState concludes an enum with 15 possible states of your app (The possible states are documented here). In your code you have to check the current state of your app and possibly, according to your state, request to register your app. Here it is done by a method with a switch case instruction, but does not considering all possible states. Instead a qDebug output is used, to follow the registration process and see, in case, what went wrong.

Because the state could switch several times you have to connect registrationStatus() as slot  with the signal registerStateUpdated() from the Context class.

To kick off registration registrationStatus() has to be called at least one time. Either the app is now request to register or a signal emits to indicate, that the app is already registered. The third option is that an error is occurred. In this case read the state in your console to fix the error. When everything went right, BBM shows a Toast .

IMG_00000015

This Toast appears automatically after registration