Electron için C++ bildirim eklentisi oluşturma

Bu kılavuzda, Electron uygulamanızdaki Windows App SDK bildirim API'lerini kullanan bir C++ yerel eklentisinin nasıl oluşturulacağı gösterilmektedir. Bu, daha karmaşık senaryolara geçmeden önce yerel eklentileri anlamak için harika bir başlangıç noktasıdır.

Önkoşullar

1. Adım: C++ yerel eklentisi oluşturma

C++ eklenti şablonu oluşturmak için winapp CLI'sini kullanın:

npx winapp node create-addon --template cpp --name nativeWindowsAddon

Bu, şunu içeren bir nativeWindowsAddon/ klasör oluşturur:

  • addon.cc - Windows API'lerini çağıracak C++ kodunuz
  • binding.gyp - Yerel kod derleme için derleme yapılandırması

Komut ayrıca build-addonpackage.json betik ekler.

Eklentiyi oluşturun:

npm run build-addon

2. Adım: Bildirim kodu ekleme

nativeWindowsAddon/addon.cc açın ve Windows App SDK bildirim API'lerini kullanacak şekilde güncelleştirin. Oluşturulan şablon gerekli Windows SDK'sını ve Windows App SDK üst bilgilerini içerir.

Bildirim API'si için ek dosyalar ekleyin:

#include <winrt/Microsoft.Windows.AppNotifications.h>
#include <winrt/Microsoft.Windows.AppNotifications.Builder.h>

Windows bildirimi gösteren bir işlev ekleyin:

Napi::Value ShowNotification(const Napi::CallbackInfo& info) {
    Napi::Env env = info.Env();

    try {
        std::string title = info[0].As<Napi::String>().Utf8Value();
        std::string message = info[1].As<Napi::String>().Utf8Value();

        winrt::Microsoft::Windows::AppNotifications::Builder::AppNotificationBuilder builder;
        builder.AddText(winrt::to_hstring(title));
        builder.AddText(winrt::to_hstring(message));

        auto notification = builder.BuildNotification();
        winrt::Microsoft::Windows::AppNotifications::AppNotificationManager::Default().Show(notification);

        return Napi::Boolean::New(env, true);
    } catch (const winrt::hresult_error& e) {
        Napi::Error::New(env, winrt::to_string(e.message())).ThrowAsJavaScriptException();
        return env.Null();
    }
}

Init yönteminde işlevi kaydedin.

exports.Set("showNotification", Napi::Function::New(env, ShowNotification));

3. Adım: Eklentiyi oluşturma

npm run build-addon

4. Adım: Bildirimi test edin

Eklentiyi açın src/index.js ve yükleyin:

const addon = require('../nativeWindowsAddon/build/Release/nativeWindowsAddon.node');

Test çağrısı ekleyin:

addon.showNotification('Hello from Electron!', 'This notification uses the Windows App SDK.');

Uygulamayı çalıştırın:

npm start

Bir Windows bildirimi görüntülenmelidir.

5. Adım: Hata ayıklama kimliğini güncelleştirme

her değiştirdiğinizde appxmanifest.xmlkomutunu çalıştırın:

npx winapp node add-electron-debug-identity

Sonraki Adımlar