Historia powiadomień Push

Poniższy artykuł przedstawia sposób tworzenia konfiguracji pozwalającej na sprawdzenie historii powiadomień Push.

 

Do zrealizowania poniższej funkcjonalności potrzebujesz:


Realizowanie wspomnianej funkcjonalności wymagać będzie utworzenia:

  • skryptów - w przykładowym projekcie nazwane:
    • sDeklaracja - deklaracja zmiennych globalnych
    • sIncDecPushNo - obsługa wyświetlania konkretnego powiadomienia
    • sPushObjectX - dodanie powiadomienia do bazy powiadomień 
    • sPushQueue - obsługa bazy powiadomień
  • cech użytkownika - w przykładowym projekcie nazwane:
    • RecordNo - numer aktualnie wyświetlanego powiadomienia
    • PushDisplay - treść aktualnie wyświetlanego powiadomienia
    • RecordsNumber - liczba aktualnie zapamiętanych powiadomień
    • MaxRecordNumbers - maksymalna liczba zapamiętywanych powiadomień
  • Obiekty Push - w przykładzie będą to dwa obiekty:
    • PushObject1 - pierwszy z obiektów Push
    • PushObject2 - drugi z obiektów Push

 

Konfiguracja jednostki centralnej CLU

1. Dwukrotnie kliknij w ikonę CLU, aby wejść do ustawień modułu:


2. Przejdź do zakładki "Cechy użytkownika" i stwórz potrzebne cechy użytkownika:

  • RecordNo - numer aktualnie wyświetlanego powiadomienia (wartość początkowa: 1, typ: number)
  • PushDisplay - treść aktualnie wyświetlanego powiadomienia (wartość początkowa: "Brak powiadomień Push", typ: string)
  • RecordsNumber - liczba aktualnych powiadomień w bazie (wartość początkowa: 0, typ: number)
  • MaxRecordNumbers - maksymalna liczba zapamiętywanych powiadomień (wartość początkowa: 10, typ: number)

 

Konfiguracja logiki

1. Przygotuj obiekty powiadomień Push:

W tym celu kliknij ikonę Dodaj obiekt CLU:

Z listy wybierz obiekt Push:

Skonfiguruj go następująco:

Analogicznie utwórz obiekt wirtualny Push o nazwie PushObject2.

2. Do pełnej obsługi funkcjonalności wykorzystywane będą poniższe skrypty:

  • sDeklaracja - deklaracja zmiennych globalnych
  • sIncDecPushNo - obsługa wyświetlania konkretnego powiadomienia
  • sPushObjectX - dodanie powiadomienia do bazy powiadomień 
  • sPushQueue - obsługa bazy powiadomień


W celu stworzenia skryptu kliknij pole Dodaj skrypt w drzewku obiektów  w programie Object Manager:

 

3. Przygotuj skrypt sDeklaracja:

tablica ={}


Podepnij skrypt pod zdarzenie OnInit CLU:


4. Przygotuj skrypt sIncDecPushNo:

if CLU->RecordsNumber>0 then
if param =="Inc" then
    if CLU->RecordNo < CLU->RecordsNumber then
        CLU->RecordNo=CLU->RecordNo+1
    end
end
if param == "Dec" then
    if CLU->RecordNo > 1 then
        CLU->RecordNo=CLU->RecordNo-1
    end
end
if param =="First" then
        CLU->RecordNo=1
end
if param =="Last" then
        CLU->RecordNo=CLU->RecordsNumber
end
CLU->PushDisplay = tablica[CLU->RecordNo-1]
end


dla skryptu dodaj parametr, np.: o nazwie param:


5. Przygotuj skrypty sPushObject1:

while PushQueueActive == true do
end

CLU->sPushQueue()
tablica[0] = "Push send time: "..CLU->PushObject1->LastSendTime.. " Title: ".. CLU->PushObject1->Title..  " Message: "..  CLU->PushObject1->Message


Uwaga
! Pamiętaj o zmianie nazwy obiektu Push w skrypcie na taką, jaką masz w swoim projekcie.

Analogicznie stwórz skrypty dla wszystkich obiektów Push w systemie.


6. Przygotuj skrypt sPushQueue:

if CLU->RecordsNumber < CLU->MaxRecordNumbers then
CLU->RecordsNumber = CLU->RecordsNumber + 1
end
PushQueueActive = true
for i = CLU->MaxRecordNumbers,1,-1 do
tablica[i]=tablica[i-1]
end
PushQueueActive = false

 

Konfiguracja obiektów Push

Do zdarzenia OnSend pierwszego z obiektów Push znajdujących się w systemie przypisz wykonanie skryptów:

Wykonaj analogiczne przypisanie dla wszystkich obiektów Push w systemie, pamiętając o tym, by do każdego obiektu Push przypisać inny skrypt sPushObjectX.

 

Wysyłanie konfiguracji do systemu

Po wprowadzeniu wszystkich zmian wyślij konfigurację do CLU za pomocą poniższego przycisku na pasku narzędzi:

 

Tworzenie interfejsu myGrenton

1.  Stwórz interfejs.

2. Dodaj widżet typu TEXT i skonfiguruj go w następujący sposób:


3. Dodaj widżet typu SCENE_DOUBLE i skonfiguruj go w następujący sposób:


4. Dodaj widżet typu SCENE_DOUBLE i skonfiguruj go w następujący sposób:


5. Dodaj widżet typu VALUE_V2 i skonfiguruj go w następujący sposób:

 

Sprawdzenie działania konfiguracji

Na poniższym filmie zaprezentowano działanie przygotowanej konfiguracji: