Frag zu Push Nachrichten bei Android Studio

  • Antworten:6
Der Fiesling
  • Forum-Beiträge: 4

27.10.2017, 18:07:55 via Website

Hallo ;)

Ich versuche OneSignal in einer App zuzufügen.

Leider scheiter ich dabei die Class als Application in der Manifest einzutragen.
Da als Application wohl schon das "android.support.multidex.MultiDexApplication" drin steht.

Wie bekomme ich das hin, das ich das mit den "Nachrichten" auch hinbekomme?

Viell kann mir ja mal jemand weiter helfen..

Danke erstmal

Antworten
swa00
  • Forum-Beiträge: 3.704

27.10.2017, 21:39:39 via Website

Hallo Fiesling,

ich kenne OneSignal nicht - gibt es einen Grund , warum kein FCM ?

Leider scheiter ich dabei die Class als Application in der Manifest einzutragen

Ist das eine Klasse oder eine Activty ?? - Kann es sein , dass du hier etwas durcheinanderwürfelst ??
Ohne entsprechenden Link zur Library & deinem Code kann man schlecht helfen .

Warum muss es denn als MultiDex deklariert sein ?

— geändert am 27.10.2017, 21:50:26

Liebe Grüße - Stefan
[ App - Entwicklung ]

Antworten
Der Fiesling
  • Forum-Beiträge: 4

28.10.2017, 00:38:01 via Website

Mit den FCM habe ich es leider nicht hinbekommen.

Der Token wurde zwar generiert aber Testnachrichten wurden nicht angezeigt.

Ich muss das OneSignal als application in der manifest eintragen.
aber diese Werte stehen ja schon für das Multidex drin.

Das Multi war schon in der App - ist eine gekaufte wo ich die Push nur nachträglich einfügen wollte.
Hier ist das von OneSignal was ich einfügen sollte:

documentation.onesignal.com/docs/android-sdk-setup

Antworten
swa00
  • Forum-Beiträge: 3.704

28.10.2017, 08:55:08 via Website

Hallo Fiesling,

da es sich um eine gekaufte App handelt, wir also nicht nachvollziehen können , wie der Source aufgebaut ist,
können wir dir an dieser Stelle nicht weiterhelfen , da sich Deine Frage darauf bezieht . (MultiDex)

Das Beste ist immer , dass man sich selbst eine App aufbaut und Schritt für Schritt einbettet.

Für FMC haben wir auch ein schönes Tutorial und das ist wirklich keine Hexerei, wenn man
die Firebase Console Standardmässig konfiguriert und ein kleines Script (PHP) verwendet.

https://www.nextpit.de/forum/717296/tutorial-fortgeschrittene-folge-2-fortsetzung-rss-feed-firebase-cloud-messaging-und-realtime-database

— geändert am 28.10.2017, 09:17:24

Liebe Grüße - Stefan
[ App - Entwicklung ]

Pascal P.

Antworten
Der Fiesling
  • Forum-Beiträge: 4

28.10.2017, 11:38:30 via Website

Ich werde das nochmal versuchen mit den Firebase.

Hatte es zwar schonmal rein bekommen, aber Nachrichten kamen nicht an.
Wieso auch immer.

Bei bedarf könnte ich auch die App zukommen lassen.
oder auch per Remote mal

Aber erst nochmal mit den HowTo oben arbeiten und hoffen das es funzt dann

Edit: Habs nach den HowTo eingefügt - bekomme aber nur fehler:

Error:(28, 27) error: incompatible types: android.app.Notification cannot be converted to com.google.firebase.messaging.RemoteMessage.Notification
Error:(34, 25) error: cannot find symbol variable contentIntent
Error:(35, 49) error: incompatible types: com.google.firebase.messaging.RemoteMessage.Notification cannot be converted to android.app.Notification

hier der auszug:

import android.app.Notification;

import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.net.Uri;
import android.support.v4.app.NotificationCompat;

import com.google.firebase.messaging.FirebaseMessagingService;
import com.google.firebase.messaging.RemoteMessage;

import java.util.concurrent.atomic.AtomicInteger;

public class FireBase_Messaging_Service extends FirebaseMessagingService {

@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
    super.onMessageReceived(remoteMessage);
    if (remoteMessage.getFrom().equals("/topics/" + FireBase_Instance_ID_Service.TOPIC)) {
        RemoteMessage.Notification notification = new NotificationCompat.Builder(this)
                .setContentTitle(String.format("von %s", remoteMessage.getData().get("creator")))
                .setContentText(remoteMessage.getData().get("title"))
                .setSmallIcon(R.mipmap.ic_launcher)
                .setDefaults(Notification.DEFAULT_ALL)
                .setAutoCancel(true)
                .setStyle(new NotificationCompat.BigTextStyle().bigText(remoteMessage.getData().get("title")))
                .build();
        Intent intent = new Intent(Intent.ACTION_VIEW);
        intent.setData(Uri.parse(remoteMessage.getData().get("link")));
        PendingIntent contentIntent = PendingIntent.getActivity(getBaseContext(), 0, intent, 0);

        NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
        notification.contentIntent = contentIntent;
        notificationManager.notify(getID(), notification);
    }
}

private final static AtomicInteger c = new AtomicInteger(0);

public static int getID() {
    return c.incrementAndGet();
}

}

— geändert am 28.10.2017, 12:13:40

Antworten
Der Fiesling
  • Forum-Beiträge: 4

28.10.2017, 12:14:19 via Website

hab mal Beitrag editiert

langsam verzeifel ich ^^ lach

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

28.10.2017, 12:25:49 via Website

Naja vieleicht solltest du mal eine Typen prüfen:

 RemoteMessage.Notification notification = new NotificationCompat.Builder(this)

Du erstellst über new NotificationCompat eine Nitification aus dem Support v4. Da kannst du keine FCM RemoteMessage draus machen.

Das müsste eher so aussehen:

android.support.v4.app.NotificationCompat.Builder notif =  new NotificationCompat.Builder(this)

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten