IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

Push Bots

Què és

És una empenta l'enviament de notificacions plataforma que facilita als desenvolupadors d'aplicacions mòbils per enviar notificacions push als seus clients. El servei és tan fàcil d'implementar en aplicacions mòbils, ja sigui iOS o Android, amb les seves biblioteques que ells et proporcionen. També es presenten anàlisis per als desenvolupadors d'aplicacions mòbils per saber més sobre els seus usuaris, tant com el sistema operatiu que tenen, la companyia de telefon i fins i tot el dispositiu pel qual reven les notificacions.

Preparació

Ens registrem a la pàgina de PushBots ---> https://pushbots.com/auth/register Avans de poder crear una nova app tenim d'anar a la consola de google ----> https://code.google.com/ Un cop dins baix de tot a la dreta ens surt

Return to original console

Fem click i ens retorna a la vista anterior. Un cop ja tenim aquesta vista dalt de overview tenim un desplegable fem click i seleccionem la opcio nou projecte i li poseu un nom Fet el projecte anem a la pestanya overview i ens apuntem el Project ID Despres anem a la pestanya services i busquem

Google Cloud Messaging for Android	

La posen en ON i despres anem al menú API Access i creem una nova Server Key ens surtira una finestra fem click a create i despres copiem la API Key.

Procedim a crear l'app a PushBots

Un cop ja som dins amb el nostre usuari i password anem al nostres dashboard i fem click a add application.

Rellenem el formulari seleccionem la plataforma android i per ultim la key que ens demana es l'API Key que hem creat anteriorment a google


Amb tot aixó ja podem començar a montar la nostra app.

Instal·lació

Servidor CodeIgniter

Requisits:

  • CodeIgniter
  • Llibreria PushBots para CodeIgniter (Proporciona mes endavant)
  • MySQL

Descarreguem la llibreria especial per a CodeIgniter del següent enllaç

https://codeload.github.com/pushbots/pushbots-codeigniter-lib/zip/master

Un cop la tenim descarregada la ficarem a la ruta:

Rutafinselteucodeigniter/application/libraries/fitxer.php

Un cop ja tenim aixó fet creem una base de dades per exemple d'usuaris

CREATE DATABASE Users;
USE Users;
CREATE TABLE usuaris (
 Nom varchar(20),
 Cognom varchar(20));

Un cop ja tenim la base de dades creada anem al fitxer config del CodeIgniter i fiquem el següent:

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = 'root';
$db['default']['database'] = 'Users';

Un cop ja tenim aixó configurat anem a crear el model, la vista i el controlador.

Vista

<html>
    <head> Prova PushBots </head>
    <body>
        <form method="post" action="insertarUsuaris">
            <label>Nom</label>
            <input type="text" name="Nom" >
            <label>Cognom</label>
            <input type="text" name="Cognom">
            <button type="submit"> Acceptar</button>
        </form>
    </body>
</html>

Controlador

public function insertarUsuaris() {
		$nom = $this->input->post('Nom');
		$cognom = $this->input->post('Cognom');
		$this->model_usuaris->insertUsuari($nom, $cognom);
		// Cridem la llibreria PushBots
		$this->load->library('PushBots');
		$pb = new PushBots();
		// ID Aplicacio
		$appID = 'La teva ID';
		// Clau Secreta de l'app
		$appSecret = 'La teva clau secreta';
		$pb->App($appID, $appSecret);
		// La teva notificacio
		$msg="Usuari registrat a la base de dades";
		$pb->Alert($msg);
		$platforms= array(0,1);
		$pb->Platform($platforms);
		// Enviat
		$pb->Push();	
	}

Model

function insertUsuari($nom, $cognom){
        $data = array(
        'Nom'=> $nom,
        'Cognom'=> $link);
            $this->db->insert('Users', $data);
        }

Un cop tenim el servidor montat anem a pasar a la nostra app Android.

Client Android

Ens baixem primer que tot la llibreria para Android ----> https://pushbots.com/developer/download/android/latest Creem el projecte he importem la llibreria Un cop creat el projecte i tenim la llibreria importada, anem al MainActivity i copiem el següent

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Pushbots.init(this, "La ID de Google SENDER ID","La clau de la teua app");
        setContentView(R.layout.activity_main);
    }

I per ultim al fitxer manifest copiem el següent:

<!-- GCM connects to Google Services. -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<!-- GCM requires a Google account. -->
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
 
<permission android:name="com.example.blog.permission.C2D_MESSAGE"
    android:protectionLevel="signature" />
<uses-permission android:name="com.example.blog.permission.C2D_MESSAGE" />
     
<!-- This app has permission to register and receive data message. -->
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />

Aquest codi va a la part de dalt del fitxer exactament damunt l'etiqueta uses-sdk

<intent-filter>
    <action android:name="com.example.blog.MESSAGE" />
    <category android:name="android.intent.category.DEFAULT" />
</intent-filter>
        </activity>
        <activity android:name="com.pushbots.push.PBMsg"/>
<activity android:name="com.pushbots.push.PBListener"/>
<receiver
android:name="com.google.android.gcm.GCMBroadcastReceiver"
android:permission="com.google.android.c2dm.permission.SEND" >
    <intent-filter>
        <!-- Receives the actual messages. -->
        <action android:name="com.google.android.c2dm.intent.RECEIVE" />
        <!-- Receives the registration id. -->
        <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
        <category android:name="com.example.blog" />
    </intent-filter>
</receiver>
<receiver android:name="com.pushbots.push.MsgReceiver" />
<service android:name="com.pushbots.push.GCMIntentService" />
<service android:name="org.openudid.OpenUDID_service" >
    <intent-filter>
        <action android:name="org.openudid.GETUDID" />
    </intent-filter>
</service>

Aquest va baix de l'ultima etiqueta intent-filter

Un cop fet aixo buscarem i renombrarem

com.example.blog

Pel teu nom de paquet

Vegeu tambè

https://pushbots.com/developer/api_tutorial ----> Exemple de CodeIgniter + App Android http://www.pushwoosh.com/ Un altre aplicatiu per enviar notificacions