Hola soy nuevo programando en android, mi intencion es hacer una aplicacion que reciba notificaciones push desde un sitio web con wordpress instalado cada vez que haya un nuevo post, estuve investigando y encontre un plugin para wordpress que simplifica todo el proceso del servicio web para enviar la notificacion a la aplicacion android, el plugin se llama push notification for post y la pagina oficial es http://www.delitestudio.com/ y la documentacion para usar su libreria es esta http://www.delitestudio.com/wordpress/push-notifications-for-wordpress/push-notifications-library-for-android/. E tratado de implementar la documentacion en la aplicacion de android pero no consigo ni que siquiera se registre en la aplicacion ya e creado un nuevo proyecto en GCM, les dejo el codigo que tengo aclaro que estoy usando android studio:
Mani activity
package com.movipublic.movipublic;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;
import com.delitestudio.pushnotifications.PushNotifications;
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final PushNotifications pn = new PushNotifications(this,
"2064213797", "ck_a3e6271d89c8561bfa9ecee91e6beaba", "cs_da5e1db624c7a88dd8a589619a8f74b9");
if (pn.getToken() == null || pn.isExpired()) {
pn.refreshToken("http://movipublic/pnfw/register/");
}
}
private BroadcastReceiver mIntentReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
mIntentReceiver.abortBroadcast();
Bundle extras = intent.getExtras();
int id = Integer.parseInt(extras.getString(PushNotifications.ID));
String title = extras.getString(PushNotifications.TITLE);
}
};
@Override
protected void onResume() {
super.onResume();
registerReceiver(mIntentReceiver, PushNotifications.getIntentFilter(this));
}
@Override
protected void onPause() {
super.onPause();
unregisterReceiver(mIntentReceiver);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
android manifest:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.movipublic.movipublic">
<uses-permission android:name="android.permission.INTERNET">
<uses-permission android:name="android.permission.GET_ACCOUNTS">
<uses-permission android:name="android.permission.WAKE_LOCK">
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE">
<permission android:name="com.movipublic.movipublic.permission.C2D_MESSAGE" android:protectionLevel="signature">
<uses-permission android:name="com.movipublic.movipublic.permission.C2D_MESSAGE">
<application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme">
<activity android:name=".MainActivity" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN">
<category android:name="android.intent.category.LAUNCHER">
</intent-filter>
</activity>
<receiver android:name="com.delitestudio.pushnotifications.PushNotifications$MessageReceiver" android:permission="com.google.android.c2dm.permission.SEND">
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE">
<category android:name="com.movipublic.movipublic">
</intent-filter>
</receiver>
</application>
</manifest>
strings.xml:
<resources>
<string name="app_name">Movipublic</string>
<string name="receiver_class">com.movipublic.movipublic.MainActivity</string>
<string name="hello_world">Hello world!</string>
<string name="action_settings">Settings</string>
</resources>
build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.movipublic.movipublic"
minSdkVersion 10
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.1.1'
compile 'com.google.android.gms:play-services:7.3.0'
}
espero y alguien me pueda ayudar, ya que como les menciono estoy empezando a programar en android studio y no entiendo todavia muy bien, estoy abierto a cualquier sugerencia en usar cualquier otro metodo para resolver el problema que como ya dije solo quiero que cuando aga un nuevo post en el sitio automaticamente se le envie una notificacion al usuario que tenga la aplicacion instalada. gracias.